cmake_minimum_required(VERSION 3.28)
project(LibreCAD VERSION 2.2.2)
#
#if (POLICY CMP0167)
#	cmake_policy (SET CMP0167 NEW)
#endif ()

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
#LOCAL -----
#set(CMAKE_VERBOSE_MAKEFILE ON)
#set(MIN_GW_PATH_PREFIX "d:\\Qt\\QT6\\6.9.0\\msvc2022_64")
#
#set(Boost_DEBUG ON)
#
#set(BOOST_DIR "c:\\Local\\boost_1_84_0")
#set(BOOST_ROOT "c:\\Local\\boost_1_84_0")
#set(Boost_DIR "c:\\Local\\boost_1_84_0")
## set(Boost_DIR "c:\\Local\\boost_1_84_0\\tools\\boost_install")
## set(Boost_DIR "c:\\Local\\boost_1_84_0\\tools\\cmake\\config\\")
## set(BOOST_DIR "	c:\\Local\\boost_1_84_0\\tools\\cmake\\config\\")
#set(Boost_INCLUDE_DIR "c:\\Local\\boost_1_84_0")
#
#set(CMAKE_PREFIX_PATH "${MIN_GW_PATH_PREFIX}\\lib\\cmake\\Qt6")
#
#set(Qt6_DIR "${MIN_GW_PATH_PREFIX}\\lib\\cmake\\Qt6")
#set(Qt6Core_DIR "${MIN_GW_PATH_PREFIX}\\lib\\cmake\\Qt6Core")
#set(Qt6Svg_DIR "${MIN_GW_PATH_PREFIX}\\lib\\cmake\\Qt6Svg")
#set(Qt6CoreTools_DIR "${MIN_GW_PATH_PREFIX}\\lib\\cmake\\Qt6CoreTools")
#set(Qt6Gui_DIR "${MIN_GW_PATH_PREFIX}\\lib\\cmake\\QtGui")
#set(QtNetwork_DIR "${MIN_GW_PATH_PREFIX}\\lib\\cmake\\QtNetwork")
#set (CMAKE_INSTALL_PREFIX "Z:/LC_BUILD_PROD")

set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOUIC_OPTIONS --connections string)

set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTORCC ON)

add_compile_definitions(DWGSUPPORT)
add_compile_definitions(MUPARSER_STATIC)

add_compile_definitions(LC_VERSION=2.2.2.5-alpha)
add_compile_definitions(LC_PRERELEASE=true)


find_package(Qt6 COMPONENTS Gui Core Widgets PrintSupport Svg Network REQUIRED)
find_package(Qt6 REQUIRED COMPONENTS LinguistTools)

find_package(Boost REQUIRED COMPONENTS)
find_package(Freetype)

file(GLOB_RECURSE AUTO_EXCLUDED_SOURCES
        "${PROJECT_SOURCE_DIR}/librecad/src/lib/debug/*.*"
        "${PROJECT_SOURCE_DIR}/librecad/src/lib/creation/*.*"
        "${PROJECT_SOURCE_DIR}/libraries/*.*"
        "${PROJECT_SOURCE_DIR}/librecad/src/lib/engine/*.*"
        "${PROJECT_SOURCE_DIR}/librecad/src/lib/engine/clipboard/*.*"
        "${PROJECT_SOURCE_DIR}/librecad/src/lib/engine/document/*.*"
        "${PROJECT_SOURCE_DIR}/librecad/src/lib/engine/overlays/*.*"
        "${PROJECT_SOURCE_DIR}/librecad/src/lib/engine/undo/*.*"
        "${PROJECT_SOURCE_DIR}/librecad/src/lib/engine/utils/*.*"
        "${PROJECT_SOURCE_DIR}/librecad/src/lib/fileio/*.*"
        "${PROJECT_SOURCE_DIR}/librecad/src/lib/information/*.*"
#        "${PROJECT_SOURCE_DIR}/librecad/src/lib/gui/*.*"
        "${PROJECT_SOURCE_DIR}/librecad/src/lib/math/*.*"
        "${PROJECT_SOURCE_DIR}/librecad/src/lib/modification/*.*"
        "${PROJECT_SOURCE_DIR}/librecad/src/lib/printing/*.*"
        "${PROJECT_SOURCE_DIR}/librecad/src/lib/scripting/*.*"
)

#include(CMakePrintHelpers)
#cmake_print_variables(AUTO_EXCLUDED_SOURCES)
#cmake_print_variables(CMAKE_AUTOMOC)
#cmake_print_variables(PROJECT_SOURCE_DIR)

include_directories(${MIN_GW_PATH_PREFIX}\\include\\QtSvg)

include_directories(librecad/src/lib/debug)
include_directories(librecad/src/lib/math)
include_directories(librecad/src/lib/engine/document)
include_directories(librecad/src/lib/engine/document/blocks)
include_directories(librecad/src/lib/engine/document/layers)
include_directories(librecad/src/lib/engine/document/dimstyles)
include_directories(librecad/src/lib/engine/document/dimstyles/builder)
include_directories(librecad/src/lib/engine/document/dimstyles/export)
include_directories(librecad/src/lib/engine/document/views)
include_directories(librecad/src/lib/engine/document/fonts)
include_directories(librecad/src/lib/engine/document/patterns)
include_directories(librecad/src/lib/engine/document/textstyles)
include_directories(librecad/src/lib/engine/document/entities)
include_directories(librecad/src/lib/engine/document/entities/support)
include_directories(librecad/src/lib/engine/document/container)
include_directories(librecad/src/lib/engine/document/variables)
include_directories(librecad/src/lib/engine/document/ucs)
include_directories(${Boost_INCLUDE_DIRS})
include_directories(librecad/src/lib/actions)
include_directories(librecad/src/lib/creation)

include_directories(librecad/src/lib/engine)
include_directories(librecad/src/lib/engine/undo)
include_directories(librecad/src/lib/engine/utils)
include_directories(librecad/src/lib/engine/clipboard)
include_directories(librecad/src/lib/engine/settings)
include_directories(librecad/src/lib/engine/overlays)
include_directories(librecad/src/lib/engine/overlays/preview)
include_directories(librecad/src/lib/engine/overlays/highlight)
include_directories(librecad/src/lib/engine/overlays/references)
include_directories(librecad/src/lib/engine/overlays/info_cursor)
include_directories(librecad/src/lib/engine/overlays/overlay_box)
include_directories(librecad/src/lib/engine/overlays/crosshair)
include_directories(librecad/src/lib/engine/overlays/ucs_mark)
include_directories(librecad/src/lib/engine/overlays/angles_base)

include_directories(librecad/src/lib/fileio)
include_directories(librecad/src/lib/filters)
include_directories(librecad/src/lib/generators)
include_directories(librecad/src/lib/generators/layers)
include_directories(librecad/src/lib/generators/makercamsvg)
include_directories(librecad/src/lib/generators/image)
include_directories(librecad/src/lib/gui)
include_directories(librecad/src/lib/gui/grid)
include_directories(librecad/src/lib/gui/render)
include_directories(librecad/src/lib/gui/render/widget)
include_directories(librecad/src/lib/gui/render/headless)
include_directories(librecad/src/lib/information)
include_directories(librecad/src/lib/modification)
include_directories(librecad/src/lib/printing)
include_directories(librecad/src/lib/scripting)

include_directories(librecad/res/arrows)
include_directories(librecad/res/icons)
include_directories(librecad/res/images)
include_directories(librecad/res/controls)
include_directories(librecad/res/gdt)
include_directories(librecad/res/dxf)

include_directories(libraries/jwwlib/src)
include_directories(libraries/lciconengine)
include_directories(libraries/libdxfrw/src)
include_directories(libraries/libdxfrw/src/intern)
include_directories(libraries/muparser/include)
include_directories(librecad/src/actions)
include_directories(librecad/src/actions/drawing)
include_directories(librecad/src/actions/drawing/draw)
include_directories(librecad/src/actions/drawing/arc)
include_directories(librecad/src/actions/drawing/draw/line)
include_directories(librecad/src/actions/drawing/draw/line/misc)
include_directories(librecad/src/actions/drawing/draw/misc)
include_directories(librecad/src/actions/drawing/draw/rect)
include_directories(librecad/src/actions/drawing/draw/polygon)
include_directories(librecad/src/actions/drawing/draw/line/shapes)
include_directories(librecad/src/actions/drawing/draw/line/shapes/rect)
include_directories(librecad/src/actions/drawing/draw/line/shapes/polygon)
include_directories(librecad/src/actions/drawing/draw/circle)
include_directories(librecad/src/actions/drawing/draw/curve)
include_directories(librecad/src/actions/drawing/draw/spline)
include_directories(librecad/src/actions/drawing/draw/polyline)
include_directories(librecad/src/actions/drawing/draw/point)
include_directories(librecad/src/actions/drawing/draw/ellipse)
include_directories(librecad/src/actions/drawing/draw/dimensions)
include_directories(librecad/src/actions/drawing/draw/text)
include_directories(librecad/src/actions/drawing/draw/image)
include_directories(librecad/src/actions/drawing/draw/hatch)
include_directories(librecad/src/actions/drawing/modify)
include_directories(librecad/src/actions/drawing/info)
include_directories(librecad/src/actions/drawing/pick)
include_directories(librecad/src/actions/drawing/selection)
include_directories(librecad/src/actions/drawing/zoom)
include_directories(librecad/src/actions/drawing/pen)
include_directories(librecad/src/actions/drawing/snap)
include_directories(librecad/src/actions/drawing/edit)
include_directories(librecad/src/actions/drawing/rel_zero)
include_directories(librecad/src/actions/dock_widgets)
include_directories(librecad/src/actions/dock_widgets/block)
include_directories(librecad/src/actions/dock_widgets/library)
include_directories(librecad/src/actions/dock_widgets/layer)
include_directories(librecad/src/actions/dock_widgets/entity_info)
include_directories(librecad/src/actions/dock_widgets/ucs_list)
include_directories(librecad/src/actions/dock_widgets/workspaces)
include_directories(librecad/src/actions/dock_widgets/cad)
include_directories(librecad/src/actions/file)
include_directories(librecad/src/actions/options)
include_directories(librecad/src/actions/print_preview)
include_directories(librecad/src/cmd)
include_directories(librecad/src/ui)
include_directories(librecad/src/ui/dialogs)
include_directories(librecad/src/ui/dialogs/actions)
include_directories(librecad/src/ui/dialogs/actions/modify)
include_directories(librecad/src/ui/dialogs/settings/device_options)
include_directories(librecad/src/ui/dialogs/settings/options_device)
include_directories(librecad/src/ui/dialogs/settings/options_general)
include_directories(librecad/src/ui/dialogs/settings/options_drawing)
include_directories(librecad/src/ui/dialogs/settings/options_widget)
include_directories(librecad/src/ui/dialogs/settings/dimstyles)
include_directories(librecad/src/ui/dialogs/settings/dimstyles/dimstyle_manager)
include_directories(librecad/src/ui/dialogs/settings/dimstyles/dimstyle_manager/support)
include_directories(librecad/src/ui/dialogs/settings/shortcuts)
include_directories(librecad/src/ui/dialogs/settings)
include_directories(librecad/src/ui/dialogs/creators)
include_directories(librecad/src/ui/dialogs/entity)
include_directories(librecad/src/ui/dialogs/file)
include_directories(librecad/src/ui/dialogs/file/export)
include_directories(librecad/src/ui/dialogs/file/export/layers)
include_directories(librecad/src/ui/dialogs/file/export/image)
include_directories(librecad/src/ui/dialogs/file/export/makercam)
include_directories(librecad/src/ui/dialogs/file/export_layers)
include_directories(librecad/src/ui/dialogs/main)
include_directories(librecad/src/ui/action_options)
include_directories(librecad/src/ui/actions)
include_directories(librecad/src/ui/components)
include_directories(librecad/src/ui/view)
include_directories(librecad/src/ui/main)
include_directories(librecad/src/ui/main/init)
include_directories(librecad/src/ui/main/persistence)
include_directories(librecad/src/ui/main/workspaces)
include_directories(librecad/src/ui/main/release_check)
include_directories(librecad/src/ui/main/support)
include_directories(librecad/src/ui/main/fontviewer)
include_directories(librecad/src/ui/dock_widgets)
include_directories(librecad/src/ui/dock_widgets/command_line)
include_directories(librecad/src/ui/dock_widgets/cad)
include_directories(librecad/src/ui/dock_widgets/pen_wizard)
include_directories(librecad/src/ui/dock_widgets/layers_tree)
include_directories(librecad/src/ui/dock_widgets/entity_info)
include_directories(librecad/src/ui/dock_widgets/pen_palette)
include_directories(librecad/src/ui/dock_widgets/block_widget)
include_directories(librecad/src/ui/dock_widgets/library_widget)
include_directories(librecad/src/ui/dock_widgets/layer_widget)
include_directories(librecad/src/ui/dock_widgets/views_list)
include_directories(librecad/src/ui/dock_widgets/ucs_list)
include_directories(librecad/src/ui/dock_widgets/workspaces)
include_directories(librecad/src/main)
include_directories(librecad/src/ui/components/comboboxes)
include_directories(librecad/src/ui/components/toolbars)
include_directories(librecad/src/ui/components/containers)
include_directories(librecad/src/ui/components/status_bar)
include_directories(librecad/src/ui/components/layouts)
include_directories(librecad/src/ui/components/creators)
include_directories(librecad/src/ui/components/pen)
include_directories(librecad/src/ui/action_options/draw)
include_directories(librecad/src/ui/action_options/modify)
include_directories(librecad/src/ui/action_options/info)
include_directories(librecad/src/ui/action_options/select)
include_directories(librecad/src/ui/action_options/line)
include_directories(librecad/src/ui/action_options/polygon)
include_directories(librecad/src/ui/action_options/rect)
include_directories(librecad/src/ui/action_options/circle)
include_directories(librecad/src/ui/action_options/polyline)
include_directories(librecad/src/ui/action_options/point)
include_directories(librecad/src/ui/action_options/curve)
include_directories(librecad/src/ui/action_options/spline)
include_directories(librecad/src/ui/action_options/ellipse)
include_directories(librecad/src/ui/action_options/dimensions)
include_directories(librecad/src/ui/action_options/selection)
include_directories(librecad/src/ui/action_options/snap)
include_directories(librecad/src/ui/action_options/edit)
include_directories(librecad/src/ui/action_options/print_preview)
include_directories(librecad/src/ui/action_options/text)
include_directories(librecad/src/ui/action_options/image)
include_directories(librecad/src/ui/action_options/misc)
include_directories(librecad/src/ui/action_options/insert)
include_directories(librecad/src/ui/action_options/other)
include_directories(librecad/src/main/console_dxf2pdf)
include_directories(librecad/src/plugins)
include_directories(librecad/src/plugins/intern)
include_directories(librecad/src/test)

set(SOURCES
       librecad/res/icons/icons.qrc
       librecad/res/controls/controls.qrc
       librecad/res/images/images.qrc
       librecad/res/arrows/arrows.qrc
       librecad/res/dxf/dxf.qrc
       librecad/res/gdt/gdt.qrc
       licenses/licenses.qrc
        libraries/jwwlib/src/dl_attributes.h
        libraries/jwwlib/src/dl_codes.h
        libraries/jwwlib/src/dl_creationinterface.h
        libraries/jwwlib/src/dl_entities.h
        libraries/jwwlib/src/dl_exception.h
        libraries/jwwlib/src/dl_extrusion.h
        libraries/jwwlib/src/dl_jww.cpp
        libraries/jwwlib/src/dl_jww.h
        libraries/jwwlib/src/dl_writer.h
        libraries/jwwlib/src/dl_writer_ascii.cpp
        libraries/jwwlib/src/dl_writer_ascii.h
        libraries/jwwlib/src/jwtype.h
        libraries/jwwlib/src/jwwdoc.cpp
        libraries/jwwlib/src/jwwdoc.h
        libraries/libdxfrw/src/intern/drw_cptable932.h
        libraries/libdxfrw/src/intern/drw_cptable936.h
        libraries/libdxfrw/src/intern/drw_cptable949.h
        libraries/libdxfrw/src/intern/drw_cptable950.h
        libraries/libdxfrw/src/intern/drw_cptables.h
        libraries/libdxfrw/src/intern/drw_dbg.cpp
        libraries/libdxfrw/src/intern/drw_dbg.h
        libraries/libdxfrw/src/intern/drw_reserve.h
        libraries/libdxfrw/src/intern/drw_textcodec.cpp
        libraries/libdxfrw/src/intern/drw_textcodec.h
        libraries/libdxfrw/src/intern/dwgbuffer.cpp
        libraries/libdxfrw/src/intern/dwgbuffer.h
        libraries/libdxfrw/src/intern/dwgreader.cpp
        libraries/libdxfrw/src/intern/dwgreader.h
        libraries/libdxfrw/src/intern/dwgreader15.cpp
        libraries/libdxfrw/src/intern/dwgreader15.h
        libraries/libdxfrw/src/intern/dwgreader18.cpp
        libraries/libdxfrw/src/intern/dwgreader18.h
        libraries/libdxfrw/src/intern/dwgreader21.cpp
        libraries/libdxfrw/src/intern/dwgreader21.h
        libraries/libdxfrw/src/intern/dwgreader24.cpp
        libraries/libdxfrw/src/intern/dwgreader24.h
        libraries/libdxfrw/src/intern/dwgreader27.cpp
        libraries/libdxfrw/src/intern/dwgreader27.h
        libraries/libdxfrw/src/intern/dwgutil.cpp
        libraries/libdxfrw/src/intern/dwgutil.h
        libraries/libdxfrw/src/intern/dxfreader.cpp
        libraries/libdxfrw/src/intern/dxfreader.h
        libraries/libdxfrw/src/intern/dxfwriter.cpp
        libraries/libdxfrw/src/intern/dxfwriter.h
        libraries/libdxfrw/src/intern/rscodec.cpp
        libraries/libdxfrw/src/intern/rscodec.h
        libraries/libdxfrw/src/drw_base.cpp
        libraries/libdxfrw/src/drw_base.h
        libraries/libdxfrw/src/drw_classes.cpp
        libraries/libdxfrw/src/drw_classes.h
        libraries/libdxfrw/src/drw_entities.cpp
        libraries/libdxfrw/src/drw_entities.h
        libraries/libdxfrw/src/drw_header.cpp
        libraries/libdxfrw/src/drw_header.h
        libraries/libdxfrw/src/drw_interface.h
        libraries/libdxfrw/src/drw_objects.cpp
        libraries/libdxfrw/src/drw_objects.h
        libraries/libdxfrw/src/libdwgr.cpp
        libraries/libdxfrw/src/libdwgr.h
        libraries/libdxfrw/src/libdxfrw.cpp
        libraries/libdxfrw/src/libdxfrw.h
        libraries/libdxfrw/src/main_doc.h
        libraries/muparser/include/muParser.h
        libraries/muparser/include/muParserBase.h
        libraries/muparser/include/muParserBytecode.h
        libraries/muparser/include/muParserCallback.h
        libraries/muparser/include/muParserDef.h
        libraries/muparser/include/muParserDLL.h
        libraries/muparser/include/muParserError.h
        libraries/muparser/include/muParserFixes.h
        libraries/muparser/include/muParserInt.h
        libraries/muparser/include/muParserTemplateMagic.h
        libraries/muparser/include/muParserToken.h
        libraries/muparser/include/muParserTokenReader.h
        libraries/muparser/src/muParser.cpp
        libraries/muparser/src/muParserBase.cpp
        libraries/muparser/src/muParserBytecode.cpp
        libraries/muparser/src/muParserCallback.cpp
        libraries/muparser/src/muParserDLL.cpp
        libraries/muparser/src/muParserError.cpp
        libraries/muparser/src/muParserInt.cpp
        libraries/muparser/src/muParserTokenReader.cpp
        librecad/src/actions/drawing/draw/dimensions/lc_actiondimarc.h
        librecad/src/actions/drawing/draw/dimensions/lc_actiondimarc.cpp
        librecad/src/actions/drawing/draw/dimensions/lc_actiondimordinate.h
        librecad/src/actions/drawing/draw/dimensions/lc_actiondimordinate.cpp
        librecad/src/actions/drawing/draw/dimensions/lc_actiondimstyleapply.h
        librecad/src/actions/drawing/draw/dimensions/lc_actiondimstyleapply.cpp
        librecad/src/actions/drawing/draw/dimensions/lc_actiondrawgdtfeaturecontrolframe.h
        librecad/src/actions/drawing/draw/dimensions/lc_actiondrawgdtfeaturecontrolframe.cpp
        librecad/src/actions/drawing/draw/circle/lc_actiondrawcircle2pr.cpp
        librecad/src/actions/drawing/draw/circle/lc_actiondrawcircle2pr.h
        librecad/src/actions/drawing/draw/polygon/lc_actiondrawlinepolygon3.cpp
        librecad/src/actions/drawing/draw/polygon/lc_actiondrawlinepolygon3.h
        librecad/src/actions/drawing/draw/spline/lc_actiondrawsplinepoints.cpp
        librecad/src/actions/drawing/draw/spline/lc_actiondrawsplinepoints.h
        librecad/src/actions/file/lc_actionfileexportmakercam.cpp
        librecad/src/actions/file/lc_actionfileexportmakercam.h
        librecad/src/actions/dock_widgets/layer/lc_actionlayersexport.cpp
        librecad/src/actions/dock_widgets/layer/lc_actionlayersexport.h
        librecad/src/actions/dock_widgets/layer/lc_actionlayerstoggleconstruction.cpp
        librecad/src/actions/dock_widgets/layer/lc_actionlayerstoggleconstruction.h
        librecad/src/actions/dock_widgets/layer/lc_actionentitylayerbase.h
        librecad/src/actions/dock_widgets/layer/lc_actionentitylayerbase.cpp
        librecad/src/actions/dock_widgets/layer/lc_actionentitylayertoggle.cpp
        librecad/src/actions/dock_widgets/layer/lc_actionentitylayertoggle.cpp

        librecad/src/actions/dock_widgets/block/rs_actionblocksadd.cpp
        librecad/src/actions/dock_widgets/block/rs_actionblocksadd.h
        librecad/src/actions/dock_widgets/block/rs_actionblocksattributes.cpp
        librecad/src/actions/dock_widgets/block/rs_actionblocksattributes.h
        librecad/src/actions/dock_widgets/block/rs_actionblockscreate.cpp
        librecad/src/actions/dock_widgets/block/rs_actionblockscreate.h
        librecad/src/actions/dock_widgets/block/rs_actionblocksedit.cpp
        librecad/src/actions/dock_widgets/block/rs_actionblocksedit.h
        librecad/src/actions/drawing/modify/rs_actionblocksexplode.cpp
        librecad/src/actions/drawing/modify/rs_actionblocksexplode.h
        librecad/src/actions/dock_widgets/block/rs_actionblocksfreezeall.cpp
        librecad/src/actions/dock_widgets/block/rs_actionblocksfreezeall.h
        librecad/src/actions/dock_widgets/block/rs_actionblocksinsert.cpp
        librecad/src/actions/dock_widgets/block/rs_actionblocksinsert.h
        librecad/src/actions/dock_widgets/block/rs_actionblocksremove.cpp
        librecad/src/actions/dock_widgets/block/rs_actionblocksremove.h
        librecad/src/actions/dock_widgets/block/rs_actionblockssave.cpp
        librecad/src/actions/dock_widgets/block/rs_actionblockssave.h
        librecad/src/actions/dock_widgets/block/rs_actionblockstoggleview.cpp
        librecad/src/actions/dock_widgets/block/rs_actionblockstoggleview.h
        librecad/src/actions/drawing/rs_actiondefault.cpp
        librecad/src/actions/drawing/rs_actiondefault.h
        librecad/src/actions/drawing/draw/dimensions/rs_actiondimaligned.cpp
        librecad/src/actions/drawing/draw/dimensions/rs_actiondimaligned.h
        librecad/src/actions/drawing/draw/dimensions/rs_actiondimangular.cpp
        librecad/src/actions/drawing/draw/dimensions/rs_actiondimangular.h
        librecad/src/actions/drawing/draw/dimensions/rs_actiondimdiametric.cpp
        librecad/src/actions/drawing/draw/dimensions/rs_actiondimdiametric.h
        librecad/src/actions/drawing/draw/dimensions/rs_actiondimension.cpp
        librecad/src/actions/drawing/draw/dimensions/rs_actiondimension.h
        librecad/src/actions/drawing/draw/dimensions/rs_actiondimleader.cpp
        librecad/src/actions/drawing/draw/dimensions/rs_actiondimleader.h
        librecad/src/actions/drawing/draw/dimensions/rs_actiondimlinear.cpp
        librecad/src/actions/drawing/draw/dimensions/rs_actiondimlinear.h
        librecad/src/actions/drawing/draw/dimensions/rs_actiondimradial.cpp
        librecad/src/actions/drawing/draw/dimensions/rs_actiondimradial.h
        librecad/src/actions/drawing/draw/dimensions/lc_actionselectdimordinatesameorigin.h
        librecad/src/actions/drawing/draw/dimensions/lc_actionselectdimordinatesameorigin.cpp
        librecad/src/actions/drawing/draw/dimensions/lc_actiondimordinaterebase.h
        librecad/src/actions/drawing/draw/dimensions/lc_actiondimordinaterebase.cpp
        librecad/src/actions/drawing/draw/curve/rs_actiondrawarc.cpp
        librecad/src/actions/drawing/draw/curve/rs_actiondrawarc.h
        librecad/src/actions/drawing/draw/curve/rs_actiondrawarc3p.cpp
        librecad/src/actions/drawing/draw/curve/rs_actiondrawarc3p.h
        librecad/src/actions/drawing/draw/curve/rs_actiondrawarctangential.cpp
        librecad/src/actions/drawing/draw/curve/rs_actiondrawarctangential.h
        librecad/src/actions/drawing/draw/circle/rs_actiondrawcircle.cpp
        librecad/src/actions/drawing/draw/circle/rs_actiondrawcircle.h
        librecad/src/actions/drawing/draw/circle/rs_actiondrawcircle2p.cpp
        librecad/src/actions/drawing/draw/circle/rs_actiondrawcircle2p.h
        librecad/src/actions/drawing/draw/circle/rs_actiondrawcircle3p.cpp
        librecad/src/actions/drawing/draw/circle/rs_actiondrawcircle3p.h
        librecad/src/actions/drawing/draw/circle/rs_actiondrawcirclecr.cpp
        librecad/src/actions/drawing/draw/circle/rs_actiondrawcirclecr.h
        librecad/src/actions/drawing/draw/circle/rs_actiondrawcircleinscribe.cpp
        librecad/src/actions/drawing/draw/circle/rs_actiondrawcircleinscribe.h
        librecad/src/actions/drawing/draw/circle/rs_actiondrawcircletan1_2p.cpp
        librecad/src/actions/drawing/draw/circle/rs_actiondrawcircletan1_2p.h
        librecad/src/actions/drawing/draw/circle/rs_actiondrawcircletan2.cpp
        librecad/src/actions/drawing/draw/circle/rs_actiondrawcircletan2.h
        librecad/src/actions/drawing/draw/circle/rs_actiondrawcircletan2_1p.cpp
        librecad/src/actions/drawing/draw/circle/rs_actiondrawcircletan2_1p.h
        librecad/src/actions/drawing/draw/circle/rs_actiondrawcircletan3.cpp
        librecad/src/actions/drawing/draw/circle/rs_actiondrawcircletan3.h
        librecad/src/actions/drawing/draw/ellipse/rs_actiondrawellipse4points.cpp
        librecad/src/actions/drawing/draw/ellipse/rs_actiondrawellipse4points.h
        librecad/src/actions/drawing/draw/ellipse/rs_actiondrawellipseaxis.cpp
        librecad/src/actions/drawing/draw/ellipse/rs_actiondrawellipseaxis.h
        librecad/src/actions/drawing/draw/ellipse/rs_actiondrawellipsecenter3points.cpp
        librecad/src/actions/drawing/draw/ellipse/rs_actiondrawellipsecenter3points.h
        librecad/src/actions/drawing/draw/ellipse/rs_actiondrawellipsefocipoint.cpp
        librecad/src/actions/drawing/draw/ellipse/rs_actiondrawellipsefocipoint.h
        librecad/src/actions/drawing/draw/ellipse/rs_actiondrawellipseinscribe.cpp
        librecad/src/actions/drawing/draw/ellipse/rs_actiondrawellipseinscribe.h
        librecad/src/actions/drawing/draw/hatch/rs_actiondrawhatch.cpp
        librecad/src/actions/drawing/draw/hatch/rs_actiondrawhatch.h
        librecad/src/actions/drawing/draw/image/rs_actiondrawimage.cpp
        librecad/src/actions/drawing/draw/image/rs_actiondrawimage.h
        librecad/src/actions/drawing/draw/line/rs_actiondrawline.cpp
        librecad/src/actions/drawing/draw/line/rs_actiondrawline.h
        librecad/src/actions/drawing/draw/line/rs_actiondrawlineangle.cpp
        librecad/src/actions/drawing/draw/line/rs_actiondrawlineangle.h
        librecad/src/actions/drawing/draw/line/rs_actiondrawlinebisector.cpp
        librecad/src/actions/drawing/draw/line/rs_actiondrawlinebisector.h
        librecad/src/actions/drawing/draw/curve/rs_actiondrawlinefree.cpp
        librecad/src/actions/drawing/draw/curve/rs_actiondrawlinefree.h
        librecad/src/actions/drawing/draw/line/rs_actiondrawlinehorvert.cpp
        librecad/src/actions/drawing/draw/line/rs_actiondrawlinehorvert.h
        librecad/src/actions/drawing/draw/line/rs_actiondrawlineorthtan.cpp
        librecad/src/actions/drawing/draw/line/rs_actiondrawlineorthtan.h
        librecad/src/actions/drawing/draw/line/rs_actiondrawlineparallel.cpp
        librecad/src/actions/drawing/draw/line/rs_actiondrawlineparallel.h
        librecad/src/actions/drawing/draw/line/rs_actiondrawlineparallelthrough.cpp
        librecad/src/actions/drawing/draw/line/rs_actiondrawlineparallelthrough.h
        librecad/src/actions/drawing/draw/polygon/rs_actiondrawlinepolygon.cpp
        librecad/src/actions/drawing/draw/polygon/rs_actiondrawlinepolygon.h
        librecad/src/actions/drawing/draw/polygon/rs_actiondrawlinepolygon2.cpp
        librecad/src/actions/drawing/draw/polygon/rs_actiondrawlinepolygon2.h
        librecad/src/actions/drawing/draw/rect/rs_actiondrawlinerectangle.cpp
        librecad/src/actions/drawing/draw/rect/rs_actiondrawlinerectangle.h
        librecad/src/actions/drawing/draw/line/rs_actiondrawlinerelangle.cpp
        librecad/src/actions/drawing/draw/line/rs_actiondrawlinerelangle.h
        librecad/src/actions/drawing/draw/line/rs_actiondrawlinetangent1.cpp
        librecad/src/actions/drawing/draw/line/rs_actiondrawlinetangent1.h
        librecad/src/actions/drawing/draw/line/rs_actiondrawlinetangent2.cpp
        librecad/src/actions/drawing/draw/line/rs_actiondrawlinetangent2.h
        librecad/src/actions/drawing/draw/text/rs_actiondrawmtext.cpp
        librecad/src/actions/drawing/draw/text/rs_actiondrawmtext.h
        librecad/src/actions/drawing/draw/point/rs_actiondrawpoint.cpp
        librecad/src/actions/drawing/draw/point/rs_actiondrawpoint.h
        librecad/src/actions/drawing/draw/polyline/rs_actiondrawpolyline.cpp
        librecad/src/actions/drawing/draw/polyline/rs_actiondrawpolyline.h
        librecad/src/actions/drawing/draw/spline/rs_actiondrawspline.cpp
        librecad/src/actions/drawing/draw/spline/rs_actiondrawspline.h
        librecad/src/actions/drawing/draw/text/rs_actiondrawtext.cpp
        librecad/src/actions/drawing/draw/text/rs_actiondrawtext.h
        librecad/src/actions/drawing/edit/rs_actioneditcopy.cpp
        librecad/src/actions/drawing/edit/rs_actioneditcopy.h
        librecad/src/actions/drawing/edit/rs_actioneditundo.cpp
        librecad/src/actions/drawing/edit/rs_actioneditundo.h
        librecad/src/actions/drawing/info/rs_actioninfoangle.cpp
        librecad/src/actions/drawing/info/rs_actioninfoangle.h
        librecad/src/actions/drawing/info/rs_actioninfoarea.cpp
        librecad/src/actions/drawing/info/rs_actioninfoarea.h
        librecad/src/actions/drawing/info/rs_actioninfodist.cpp
        librecad/src/actions/drawing/info/rs_actioninfodist.h
        librecad/src/actions/drawing/info/rs_actioninfodist2.cpp
        librecad/src/actions/drawing/info/rs_actioninfodist2.h
        librecad/src/actions/drawing/info/rs_actioninfoinside.cpp
        librecad/src/actions/drawing/info/rs_actioninfoinside.h
        librecad/src/actions/drawing/info/rs_actioninfototallength.cpp
        librecad/src/actions/drawing/info/rs_actioninfototallength.h
        librecad/src/actions/drawing/info/lc_actioninfopoint.h
        librecad/src/actions/drawing/info/lc_actioninfopoint.cpp
        librecad/src/actions/drawing/pick/lc_actioninteractivepickbase.h
        librecad/src/actions/drawing/pick/lc_actioninteractivepickbase.cpp
        librecad/src/actions/drawing/pick/lc_actioninteractivepickangle.h
        librecad/src/actions/drawing/pick/lc_actioninteractivepickangle.cpp
        librecad/src/actions/drawing/pick/lc_actioninteractivepickdistance.h
        librecad/src/actions/drawing/pick/lc_actioninteractivepickdistance.cpp
        librecad/src/actions/drawing/pick/lc_actioninteractivepickposition.h
        librecad/src/actions/drawing/pick/lc_actioninteractivepickposition.cpp
        librecad/src/actions/dock_widgets/layer/rs_actionlayersadd.h
        librecad/src/actions/dock_widgets/layer/rs_actionlayersadd.cpp
        librecad/src/actions/dock_widgets/layer/rs_actionlayersadd.h
        librecad/src/actions/dock_widgets/layer/lc_actionlayerscmd.h
        librecad/src/actions/dock_widgets/layer/lc_actionlayerscmd.cpp
        librecad/src/actions/dock_widgets/layer/rs_actionlayersedit.h
        librecad/src/actions/dock_widgets/layer/rs_actionlayersedit.cpp
        librecad/src/actions/dock_widgets/layer/rs_actionlayersfreezeall.cpp
        librecad/src/actions/dock_widgets/layer/rs_actionlayersfreezeall.h
        librecad/src/actions/dock_widgets/layer/rs_actionlayerslockall.cpp
        librecad/src/actions/dock_widgets/layer/rs_actionlayerslockall.h
        librecad/src/actions/dock_widgets/layer/rs_actionlayersremove.cpp
        librecad/src/actions/dock_widgets/layer/rs_actionlayersremove.h
        librecad/src/actions/dock_widgets/layer/rs_actionlayerstogglelock.cpp
        librecad/src/actions/dock_widgets/layer/rs_actionlayerstogglelock.h
        librecad/src/actions/dock_widgets/layer/rs_actionlayerstoggleprint.cpp
        librecad/src/actions/dock_widgets/layer/rs_actionlayerstoggleprint.h
        librecad/src/actions/dock_widgets/layer/rs_actionlayerstoggleview.cpp
        librecad/src/actions/dock_widgets/layer/rs_actionlayerstoggleview.h
        librecad/src/actions/dock_widgets/library/rs_actionlibraryinsert.cpp
        librecad/src/actions/dock_widgets/library/rs_actionlibraryinsert.h
        librecad/src/actions/drawing/rel_zero/rs_actionlockrelativezero.cpp
        librecad/src/actions/drawing/rel_zero/rs_actionlockrelativezero.h
        librecad/src/actions/drawing/modify/rs_actionmodifyattributes.cpp
        librecad/src/actions/drawing/modify/rs_actionmodifyattributes.h
        librecad/src/actions/drawing/modify/rs_actionmodifybevel.cpp
        librecad/src/actions/drawing/modify/rs_actionmodifybevel.h
        librecad/src/actions/drawing/modify/rs_actionmodifycut.cpp
        librecad/src/actions/drawing/modify/rs_actionmodifycut.h
        librecad/src/actions/drawing/modify/rs_actionmodifydelete.cpp
        librecad/src/actions/drawing/modify/rs_actionmodifydelete.h
        librecad/src/actions/drawing/modify/rs_actionmodifydeletefree.cpp
        librecad/src/actions/drawing/modify/rs_actionmodifydeletefree.h
        librecad/src/actions/drawing/modify/rs_actionmodifyentity.cpp
        librecad/src/actions/drawing/modify/rs_actionmodifyentity.h
        librecad/src/actions/drawing/modify/rs_actionmodifyexplodetext.cpp
        librecad/src/actions/drawing/modify/rs_actionmodifyexplodetext.h
        librecad/src/actions/drawing/modify/rs_actionmodifymirror.cpp
        librecad/src/actions/drawing/modify/rs_actionmodifymirror.h
        librecad/src/actions/drawing/modify/rs_actionmodifymove.cpp
        librecad/src/actions/drawing/modify/rs_actionmodifymove.h
        librecad/src/actions/drawing/modify/rs_actionmodifymoverotate.cpp
        librecad/src/actions/drawing/modify/rs_actionmodifymoverotate.h
        librecad/src/actions/drawing/modify/rs_actionmodifyoffset.cpp
        librecad/src/actions/drawing/modify/rs_actionmodifyoffset.h
        librecad/src/actions/drawing/modify/rs_actionmodifyrevertdirection.cpp
        librecad/src/actions/drawing/modify/rs_actionmodifyrevertdirection.h
        librecad/src/actions/drawing/modify/rs_actionmodifyrotate.cpp
        librecad/src/actions/drawing/modify/rs_actionmodifyrotate.h
        librecad/src/actions/drawing/modify/rs_actionmodifyrotate2.cpp
        librecad/src/actions/drawing/modify/rs_actionmodifyrotate2.h
        librecad/src/actions/drawing/modify/rs_actionmodifyround.cpp
        librecad/src/actions/drawing/modify/rs_actionmodifyround.h
        librecad/src/actions/drawing/modify/rs_actionmodifyscale.cpp
        librecad/src/actions/drawing/modify/rs_actionmodifyscale.h
        librecad/src/actions/drawing/modify/rs_actionmodifystretch.cpp
        librecad/src/actions/drawing/modify/rs_actionmodifystretch.h
        librecad/src/actions/drawing/modify/rs_actionmodifytrim.cpp
        librecad/src/actions/drawing/modify/rs_actionmodifytrim.h
        librecad/src/actions/drawing/modify/rs_actionmodifytrimamount.cpp
        librecad/src/actions/drawing/modify/rs_actionmodifytrimamount.h
        librecad/src/actions/drawing/modify/lc_actionmodifymoveadjust.h
        librecad/src/actions/drawing/modify/lc_actionmodifymoveadjust.cpp
        librecad/src/actions/options/rs_actionoptionsdrawing.cpp
        librecad/src/actions/options/rs_actionoptionsdrawing.h
        librecad/src/actions/drawing/modify/rs_actionorder.cpp
        librecad/src/actions/drawing/modify/rs_actionorder.h
        librecad/src/actions/drawing/draw/polyline/rs_actionpolylineadd.cpp
        librecad/src/actions/drawing/draw/polyline/rs_actionpolylineadd.h
        librecad/src/actions/drawing/draw/polyline/rs_actionpolylineappend.cpp
        librecad/src/actions/drawing/draw/polyline/rs_actionpolylineappend.h
        librecad/src/actions/drawing/draw/polyline/rs_actionpolylinedel.cpp
        librecad/src/actions/drawing/draw/polyline/rs_actionpolylinedel.h
        librecad/src/actions/drawing/draw/polyline/rs_actionpolylinedelbetween.cpp
        librecad/src/actions/drawing/draw/polyline/rs_actionpolylinedelbetween.h
        librecad/src/actions/drawing/draw/polyline/rs_actionpolylineequidistant.cpp
        librecad/src/actions/drawing/draw/polyline/rs_actionpolylineequidistant.h
        librecad/src/actions/drawing/draw/polyline/rs_actionpolylinesegment.cpp
        librecad/src/actions/drawing/draw/polyline/rs_actionpolylinesegment.h
        librecad/src/actions/drawing/draw/polyline/rs_actionpolylinetrim.cpp
        librecad/src/actions/drawing/draw/polyline/rs_actionpolylinetrim.h
        librecad/src/actions/print_preview/rs_actionprintpreview.cpp
        librecad/src/actions/print_preview/rs_actionprintpreview.h
        librecad/src/actions/drawing/selection/rs_actionselectall.cpp
        librecad/src/actions/drawing/selection/rs_actionselectall.h
        librecad/src/actions/drawing/selection/lc_actionsingleentityselectbase.h
        librecad/src/actions/drawing/selection/lc_actionsingleentityselectbase.cpp
        librecad/src/lib/actions/rs_actionselectbase.cpp
        librecad/src/lib/actions/rs_actionselectbase.h
        librecad/src/lib/actions/lc_actioninfomessagebuilder.h
        librecad/src/lib/actions/lc_actioninfomessagebuilder.cpp
        librecad/src/actions/drawing/selection/rs_actionselectcontour.cpp
        librecad/src/actions/drawing/selection/rs_actionselectcontour.h
        librecad/src/actions/drawing/selection/rs_actionselectintersected.cpp
        librecad/src/actions/drawing/selection/rs_actionselectintersected.h
        librecad/src/actions/drawing/selection/rs_actionselectinvert.cpp
        librecad/src/actions/drawing/selection/rs_actionselectinvert.h
        librecad/src/actions/drawing/selection/rs_actionselectlayer.cpp
        librecad/src/actions/drawing/selection/rs_actionselectlayer.h
        librecad/src/actions/drawing/selection/rs_actionselectsingle.cpp
        librecad/src/actions/drawing/selection/rs_actionselectsingle.h
        librecad/src/actions/drawing/selection/rs_actionselectwindow.cpp
        librecad/src/actions/drawing/selection/rs_actionselectwindow.h
        librecad/src/actions/drawing/rel_zero/rs_actionsetrelativezero.cpp
        librecad/src/actions/drawing/rel_zero/rs_actionsetrelativezero.h
        librecad/src/actions/drawing/snap/rs_actionsnapintersectionmanual.cpp
        librecad/src/actions/drawing/snap/rs_actionsnapintersectionmanual.h
        librecad/src/actions/drawing/draw/dimensions/rs_actiontoolregeneratedimensions.cpp
        librecad/src/actions/drawing/draw/dimensions/rs_actiontoolregeneratedimensions.h
        librecad/src/actions/drawing/zoom/rs_actionzoomauto.cpp
        librecad/src/actions/drawing/zoom/rs_actionzoomauto.h
        librecad/src/actions/drawing/zoom/rs_actionzoomin.cpp
        librecad/src/actions/drawing/zoom/rs_actionzoomin.h
        librecad/src/actions/drawing/zoom/rs_actionzoompan.cpp
        librecad/src/actions/drawing/zoom/rs_actionzoompan.h
        librecad/src/actions/drawing/zoom/rs_actionzoomprevious.cpp
        librecad/src/actions/drawing/zoom/rs_actionzoomprevious.h
        librecad/src/actions/drawing/zoom/rs_actionzoomredraw.cpp
        librecad/src/actions/drawing/zoom/rs_actionzoomredraw.h
        librecad/src/actions/drawing/zoom/rs_actionzoomscroll.cpp
        librecad/src/actions/drawing/zoom/rs_actionzoomscroll.h
        librecad/src/actions/drawing/zoom/rs_actionzoomwindow.cpp
        librecad/src/actions/drawing/zoom/rs_actionzoomwindow.h
        librecad/src/cmd/rs_commands.cpp
        librecad/src/cmd/rs_commands.h
        librecad/src/cmd/lc_commandItems.h
        librecad/src/lib/actions/rs_actioninterface.cpp
        librecad/src/lib/actions/rs_actioninterface.h
        librecad/src/lib/engine/overlays/preview/rs_preview.cpp
        librecad/src/lib/engine/overlays/preview/rs_preview.h
        librecad/src/lib/actions/rs_previewactioninterface.cpp
        librecad/src/lib/actions/rs_previewactioninterface.h
        librecad/src/lib/actions/rs_snapper.cpp
        librecad/src/lib/actions/rs_snapper.h
        librecad/src/lib/creation/rs_creation.cpp
        librecad/src/lib/creation/rs_creation.h
        librecad/src/lib/debug/rs_debug.cpp
        librecad/src/lib/debug/rs_debug.h
        librecad/src/lib/engine/document/dxf_format.h
        librecad/src/lib/engine/lc_defaults.h
        librecad/src/lib/engine/document/entities/lc_dimarc.cpp
        librecad/src/lib/engine/document/entities/lc_dimarc.h
        librecad/src/lib/engine/document/entities/lc_hyperbola.cpp
        librecad/src/lib/engine/document/entities/lc_hyperbola.h
        librecad/src/lib/engine/document/container/lc_looputils.cpp
        librecad/src/lib/engine/document/container/lc_looputils.h
        librecad/src/lib/engine/document/container/lc_containertraverser.cpp
        librecad/src/lib/engine/document/container/lc_containertraverser.h
        librecad/src/lib/engine/document/entities/lc_rect.cpp
        librecad/src/lib/engine/document/entities/lc_rect.h
        librecad/src/lib/engine/document/entities/lc_splinepoints.cpp
        librecad/src/lib/engine/document/entities/lc_splinepoints.h
        librecad/src/lib/engine/document/entities/support/lc_arrow_box.h
        librecad/src/lib/engine/document/entities/support/lc_arrow_box.cpp
        librecad/src/lib/engine/document/entities/support/lc_arrow_none.h
        librecad/src/lib/engine/document/entities/support/lc_arrow_none.cpp
        librecad/src/lib/engine/document/entities/support/lc_arrow_circle.h
        librecad/src/lib/engine/document/entities/support/lc_arrow_circle.cpp
        librecad/src/lib/engine/document/entities/support/lc_arrow_datum.h
        librecad/src/lib/engine/document/entities/support/lc_arrow_datum.cpp
        librecad/src/lib/engine/document/entities/support/lc_arrow_headclosed.h
        librecad/src/lib/engine/document/entities/support/lc_arrow_headclosed.cpp
        librecad/src/lib/engine/document/entities/support/lc_arrow_headclosed_blank.h
        librecad/src/lib/engine/document/entities/support/lc_arrow_headclosed_blank.cpp
        librecad/src/lib/engine/document/entities/support/lc_arrow_headclosed2.h
        librecad/src/lib/engine/document/entities/support/lc_arrow_headclosed2.cpp
        librecad/src/lib/engine/document/entities/support/lc_arrow_headopen.h
        librecad/src/lib/engine/document/entities/support/lc_arrow_headopen.cpp
        librecad/src/lib/engine/document/entities/support/lc_arrow_tick.h
        librecad/src/lib/engine/document/entities/support/lc_arrow_tick.cpp
        librecad/src/lib/engine/document/entities/support/lc_arrow_dot.h
        librecad/src/lib/engine/document/entities/support/lc_arrow_dot.cpp
        librecad/src/lib/engine/document/entities/support/lc_dimarrowblock.h
        librecad/src/lib/engine/document/entities/support/lc_dimarrowblock.cpp
        librecad/src/lib/engine/document/entities/support/lc_dimarrowblockpoly.h
        librecad/src/lib/engine/document/entities/support/lc_dimarrowblockpoly.cpp
        librecad/src/lib/engine/document/entities/support/lc_arrow_integral.h
        librecad/src/lib/engine/document/entities/support/lc_arrow_integral.cpp
        librecad/src/lib/engine/utils/lc_rtree.cpp
        librecad/src/lib/engine/utils/lc_rtree.h
        librecad/src/lib/engine/undo/lc_undosection.cpp
        librecad/src/lib/engine/undo/lc_undosection.h
        librecad/src/lib/engine/rs.cpp
        librecad/src/lib/engine/rs.h
        librecad/src/lib/engine/document/entities/rs_arc.cpp
        librecad/src/lib/engine/document/entities/rs_arc.h
        librecad/src/lib/engine/document/entities/rs_atomicentity.cpp
        librecad/src/lib/engine/document/entities/rs_atomicentity.h
        librecad/src/lib/engine/document/blocks/rs_block.cpp
        librecad/src/lib/engine/document/blocks/rs_block.h
        librecad/src/lib/engine/document/blocks/rs_blocklist.cpp
        librecad/src/lib/engine/document/blocks/rs_blocklist.h
        librecad/src/lib/engine/document/blocks/rs_blocklistlistener.h
        librecad/src/lib/engine/document/entities/rs_circle.cpp
        librecad/src/lib/engine/document/entities/rs_circle.h
        librecad/src/lib/engine/clipboard/rs_clipboard.cpp
        librecad/src/lib/engine/clipboard/rs_clipboard.h
        librecad/src/lib/engine/rs_color.cpp
        librecad/src/lib/engine/rs_color.h
        librecad/src/lib/engine/document/entities/rs_constructionline.cpp
        librecad/src/lib/engine/document/entities/rs_constructionline.h
        librecad/src/lib/engine/document/entities/rs_dimaligned.cpp
        librecad/src/lib/engine/document/entities/rs_dimaligned.h
        librecad/src/lib/engine/document/entities/rs_dimangular.cpp
        librecad/src/lib/engine/document/entities/rs_dimangular.h
        librecad/src/lib/engine/document/entities/rs_dimdiametric.cpp
        librecad/src/lib/engine/document/entities/rs_dimdiametric.h
        librecad/src/lib/engine/document/entities/rs_dimension.cpp
        librecad/src/lib/engine/document/entities/rs_dimension.h
        librecad/src/lib/engine/document/entities/rs_dimlinear.cpp
        librecad/src/lib/engine/document/entities/rs_dimlinear.h
        librecad/src/lib/engine/document/entities/lc_dimordinate.h
        librecad/src/lib/engine/document/entities/lc_dimordinate.cpp
        librecad/src/lib/engine/document/entities/lc_tolerance.h
        librecad/src/lib/engine/document/entities/lc_tolerance.cpp
        librecad/src/lib/engine/document/entities/rs_dimradial.cpp
        librecad/src/lib/engine/document/entities/rs_dimradial.h
        librecad/src/lib/engine/document/rs_document.cpp
        librecad/src/lib/engine/document/rs_document.h
        librecad/src/lib/engine/document/entities/rs_ellipse.cpp
        librecad/src/lib/engine/document/entities/rs_ellipse.h
        librecad/src/lib/engine/document/entities/rs_entity.cpp
        librecad/src/lib/engine/document/entities/rs_entity.h
        librecad/src/lib/engine/document/container/rs_entitycontainer.cpp
        librecad/src/lib/engine/document/container/rs_entitycontainer.h
        librecad/src/lib/engine/rs_flags.cpp
        librecad/src/lib/engine/rs_flags.h
        librecad/src/lib/engine/document/fonts/rs_font.cpp
        librecad/src/lib/engine/document/fonts/rs_font.h
        librecad/src/lib/engine/document/fonts/rs_fontchar.h
        librecad/src/lib/engine/document/fonts/rs_fontlist.cpp
        librecad/src/lib/engine/document/fonts/rs_fontlist.h
        librecad/src/lib/engine/document/rs_graphic.cpp
        librecad/src/lib/engine/document/rs_graphic.h
        librecad/src/lib/engine/document/entities/rs_hatch.cpp
        librecad/src/lib/engine/document/entities/rs_hatch.h
        librecad/src/lib/engine/document/entities/rs_image.cpp
        librecad/src/lib/engine/document/entities/rs_image.h
        librecad/src/lib/engine/document/entities/rs_insert.cpp
        librecad/src/lib/engine/document/entities/rs_insert.h
        librecad/src/lib/engine/document/layers/rs_layer.cpp
        librecad/src/lib/engine/document/layers/rs_layer.h
        librecad/src/lib/engine/document/layers/rs_layerlist.cpp
        librecad/src/lib/engine/document/layers/rs_layerlist.h
        librecad/src/lib/engine/document/layers/rs_layerlistlistener.h
        librecad/src/lib/engine/document/dimstyles/lc_dimstyle.h
        librecad/src/lib/engine/document/dimstyles/lc_dimstyle.cpp
        librecad/src/lib/engine/document/dimstyles/lc_dimstyleslist.h
        librecad/src/lib/engine/document/dimstyles/lc_dimstyleslist.cpp
        librecad/src/lib/engine/document/dimstyles/lc_dimarrowregistry.h
        librecad/src/lib/engine/document/dimstyles/lc_dimarrowregistry.cpp
        librecad/src/lib/engine/document/dimstyles/lc_dimstyletovariablesmapper.h
        librecad/src/lib/engine/document/dimstyles/lc_dimstyletovariablesmapper.cpp
        librecad/src/ui/dialogs/settings/options_drawing/lc_dimstylesexporter.h
        librecad/src/ui/dialogs/settings/options_drawing/lc_dimstylesexporter.cpp
        librecad/src/ui/dialogs/settings/options_drawing/lc_dlgnewcustomvariable.h
        librecad/src/ui/dialogs/settings/options_drawing/lc_dlgnewcustomvariable.cpp
        librecad/src/lib/engine/document/entities/rs_leader.cpp
        librecad/src/lib/engine/document/entities/rs_leader.h
        librecad/src/lib/engine/document/entities/rs_line.cpp
        librecad/src/lib/engine/document/entities/rs_line.h
        librecad/src/lib/engine/document/entities/rs_mtext.cpp
        librecad/src/lib/engine/document/entities/rs_mtext.h
        librecad/src/lib/engine/overlays/overlay_box/rs_overlaybox.cpp
        librecad/src/lib/engine/overlays/overlay_box/rs_overlaybox.h
        librecad/src/lib/engine/overlays/rs_overlayline.cpp
        librecad/src/lib/engine/overlays/rs_overlayline.h
        librecad/src/lib/engine/document/patterns/rs_pattern.cpp
        librecad/src/lib/engine/document/patterns/rs_pattern.h
        librecad/src/lib/engine/document/patterns/rs_patternlist.cpp
        librecad/src/lib/engine/document/patterns/rs_patternlist.h
        librecad/src/lib/engine/rs_pen.cpp
        librecad/src/lib/engine/rs_pen.h
        librecad/src/lib/engine/document/entities/rs_point.cpp
        librecad/src/lib/engine/document/entities/rs_point.h
        librecad/src/lib/engine/document/entities/rs_polyline.cpp
        librecad/src/lib/engine/document/entities/rs_polyline.h
        librecad/src/lib/engine/settings/rs_settings.cpp
        librecad/src/lib/engine/settings/rs_settings.h
        librecad/src/lib/engine/document/entities/rs_solid.cpp
        librecad/src/lib/engine/document/entities/rs_solid.h
        librecad/src/lib/engine/document/entities/rs_spline.cpp
        librecad/src/lib/engine/document/entities/rs_spline.h
        librecad/src/lib/engine/rs_system.cpp
        librecad/src/lib/engine/rs_system.h
        librecad/src/lib/engine/document/entities/rs_text.cpp
        librecad/src/lib/engine/document/entities/rs_text.h
        librecad/src/lib/engine/undo/rs_undo.cpp
        librecad/src/lib/engine/undo/rs_undo.h
        librecad/src/lib/engine/undo/rs_undoable.cpp
        librecad/src/lib/engine/undo/rs_undoable.h
        librecad/src/lib/engine/undo/rs_undocycle.cpp
        librecad/src/lib/engine/undo/rs_undocycle.h
        librecad/src/lib/engine/rs_units.cpp
        librecad/src/lib/engine/rs_units.h
        librecad/src/lib/engine/utils/rs_utility.cpp
        librecad/src/lib/engine/utils/rs_utility.h
        librecad/src/lib/engine/document/variables/rs_variable.h
        librecad/src/lib/engine/document/variables/rs_variabledict.cpp
        librecad/src/lib/engine/document/variables/rs_variabledict.h
        librecad/src/lib/engine/rs_vector.cpp
        librecad/src/lib/engine/rs_vector.h
        librecad/src/lib/fileio/rs_fileio.cpp
        librecad/src/lib/fileio/rs_fileio.h
        librecad/src/lib/fileio/lc_filenameselectionservice.h
        librecad/src/lib/fileio/lc_filenameselectionservice.cpp
        librecad/src/lib/filters/rs_filtercxf.cpp
        librecad/src/lib/filters/rs_filterdxf1.cpp
        librecad/src/lib/filters/rs_filterdxf1.h
        librecad/src/lib/filters/rs_filterdxfrw.cpp
        librecad/src/lib/filters/rs_filterdxfrw.h
        librecad/src/lib/filters/rs_filterinterface.h
        librecad/src/lib/filters/rs_filterjww.cpp
        librecad/src/lib/filters/rs_filterjww.h
        librecad/src/lib/filters/rs_filterlff.cpp
        librecad/src/lib/filters/rs_filterlff.h
        librecad/src/lib/generators/makercamsvg/lc_makercamsvg.cpp
        librecad/src/lib/generators/makercamsvg/lc_makercamsvg.h
        librecad/src/lib/generators/makercamsvg/lc_xmlwriterinterface.h
        librecad/src/lib/generators/makercamsvg/lc_xmlwriterqxmlstreamwriter.cpp
        librecad/src/lib/generators/makercamsvg/lc_xmlwriterqxmlstreamwriter.h
        librecad/src/lib/generators/layers/lc_layersexporter.h
        librecad/src/lib/generators/layers/lc_layersexporter.cpp
        librecad/src/lib/generators/image/lc_imageexporter.h
        librecad/src/lib/generators/image/lc_imageexporter.cpp
        librecad/src/lib/gui/rs_commandevent.h
        librecad/src/lib/gui/rs_coordinateevent.h
        librecad/src/lib/gui/rs_dialogfactory.cpp
        librecad/src/lib/gui/rs_dialogfactory.h
        librecad/src/lib/gui/rs_dialogfactoryinterface.h
#        librecad/src/lib/gui/rs_eventhandler.cpp
#        librecad/src/lib/gui/rs_eventhandler.h
        librecad/src/lib/gui/lc_eventhandler.cpp
        librecad/src/lib/gui/lc_eventhandler.h
        librecad/src/lib/gui/rs_graphicview.cpp
        librecad/src/lib/gui/rs_graphicview.h
        librecad/src/lib/gui/grid/rs_grid.cpp
        librecad/src/lib/gui/grid/rs_grid.h
        librecad/src/lib/gui/rs_linetypepattern.cpp
        librecad/src/lib/gui/rs_linetypepattern.h
        librecad/src/lib/gui/rs_mainwindowinterface.h
        librecad/src/lib/gui/render/rs_painter.cpp
        librecad/src/lib/gui/render/rs_painter.h
        librecad/src/lib/information/rs_infoarea.cpp
        librecad/src/lib/information/rs_infoarea.h
        librecad/src/lib/information/rs_information.cpp
        librecad/src/lib/information/rs_information.h
        librecad/src/lib/information/rs_locale.cpp
        librecad/src/lib/information/rs_locale.h
        librecad/src/lib/math/lc_quadratic.cpp
        librecad/src/lib/math/lc_quadratic.h
        librecad/src/lib/math/rs_math.cpp
        librecad/src/lib/math/rs_math.h
        librecad/src/lib/modification/rs_modification.cpp
        librecad/src/lib/modification/rs_modification.h
        librecad/src/lib/modification/rs_selection.cpp
        librecad/src/lib/modification/rs_selection.h
        librecad/src/lib/printing/lc_printing.cpp
        librecad/src/lib/printing/lc_printing.h
        librecad/src/lib/scripting/rs_python.cpp
        librecad/src/lib/scripting/rs_python.h
        librecad/src/lib/scripting/rs_python_wrappers.cpp
        librecad/src/lib/scripting/rs_python_wrappers.h
        librecad/src/lib/scripting/rs_script.cpp
        librecad/src/lib/scripting/rs_script.h
        librecad/src/lib/scripting/rs_scriptlist.cpp
        librecad/src/lib/scripting/rs_scriptlist.h
        librecad/src/lib/scripting/rs_simplepython.cpp
        librecad/src/lib/scripting/rs_simplepython.h
        librecad/src/main/console_dxf2pdf/console_dxf2pdf.cpp
        librecad/src/main/console_dxf2pdf/console_dxf2pdf.h
        librecad/src/main/console_dxf2pdf/pdf_print_loop.cpp
        librecad/src/main/console_dxf2pdf/pdf_print_loop.h
        librecad/src/main/console_dxf2png.cpp
        librecad/src/main/console_dxf2png.h
        librecad/src/main/doc_plugin_interface.cpp
        librecad/src/main/doc_plugin_interface.h
        librecad/src/main/lc_application.cpp
        librecad/src/main/lc_application.h
        librecad/src/main/main.cpp
        librecad/src/ui/main/mainwindowx.cpp
        librecad/src/ui/main/mainwindowx.h
        librecad/src/ui/main/qc_applicationwindow.h
        librecad/src/ui/main/qc_applicationwindow.cpp
        librecad/src/ui/main/lc_appwindowaware.h
        librecad/src/ui/main/lc_appwindowaware.cpp
        librecad/src/main/qc_dialogfactory.cpp
        librecad/src/main/qc_dialogfactory.h
        librecad/src/ui/main/qc_mdiwindow.cpp
        librecad/src/ui/main/qc_mdiwindow.h
        librecad/src/ui/main/lc_defaultactioncontext.h
        librecad/src/ui/main/lc_defaultactioncontext.cpp
        librecad/src/plugins/intern/qc_actiongetent.cpp
        librecad/src/plugins/intern/qc_actiongetent.h
        librecad/src/plugins/intern/qc_actiongetpoint.cpp
        librecad/src/plugins/intern/qc_actiongetpoint.h
        librecad/src/plugins/intern/qc_actiongetselect.cpp
        librecad/src/plugins/intern/qc_actiongetselect.h
        librecad/src/plugins/document_interface.h
        librecad/src/plugins/qc_plugininterface.h
        librecad/src/ui/dialogs/entity/lc_dlgtolerance.h
        librecad/src/ui/dialogs/entity/lc_dlgtolerance.cpp
        librecad/src/ui/dialogs/settings/options_widget/lc_widgetoptionsdialog.cpp
        librecad/src/ui/dialogs/settings/options_widget/lc_widgetoptionsdialog.h
        librecad/src/ui/components/status_bar/qg_activelayername.cpp
        librecad/src/ui/components/status_bar/qg_activelayername.h
        librecad/src/ui/action_options/curve/qg_arcoptions.cpp
        librecad/src/ui/action_options/curve/qg_arcoptions.h
        librecad/src/ui/action_options/curve/qg_arctangentialoptions.cpp
        librecad/src/ui/action_options/curve/qg_arctangentialoptions.h
        librecad/src/ui/action_options/modify/qg_beveloptions.cpp
        librecad/src/ui/action_options/modify/qg_beveloptions.h
        librecad/src/ui/dialogs/entity/qg_blockdialog.cpp
        librecad/src/ui/dialogs/entity/qg_blockdialog.h
        librecad/src/ui/dialogs/entity/lc_pointpickbutton.h
        librecad/src/ui/dialogs/entity/lc_pointpickbutton.cpp
        librecad/src/ui/action_options/circle/qg_circleoptions.cpp
        librecad/src/ui/action_options/circle/qg_circleoptions.h
        librecad/src/ui/action_options/circle/qg_circletan2options.cpp
        librecad/src/ui/action_options/circle/qg_circletan2options.h
        librecad/src/ui/dock_widgets/command_line/qg_commandwidget.cpp
        librecad/src/ui/dock_widgets/command_line/qg_commandwidget.h
        librecad/src/ui/components/status_bar/qg_coordinatewidget.cpp
        librecad/src/ui/components/status_bar/qg_coordinatewidget.h
        librecad/src/ui/dialogs/entity/qg_dimensionlabeleditor.cpp
        librecad/src/ui/dialogs/entity/qg_dimensionlabeleditor.h
        librecad/src/ui/action_options/dimensions/qg_dimoptions.cpp
        librecad/src/ui/action_options/dimensions/qg_dimoptions.h
        librecad/src/ui/dialogs/entity/qg_dlgattributes.cpp
        librecad/src/ui/dialogs/entity/qg_dlgattributes.h
        librecad/src/ui/dialogs/entity/qg_dlghatch.cpp
        librecad/src/ui/dialogs/entity/qg_dlghatch.h
        librecad/src/ui/dialogs/file/export/image/qg_dlgimageoptions.cpp
        librecad/src/ui/dialogs/file/export/image/qg_dlgimageoptions.h
        librecad/src/ui/dialogs/file/export/image/lc_exporttoimageservice.h
        librecad/src/ui/dialogs/file/export/image/lc_exporttoimageservice.cpp
        librecad/src/ui/dialogs/main/qg_dlginitial.cpp
        librecad/src/ui/dialogs/main/qg_dlginitial.h
        librecad/src/ui/dialogs/actions/modify/qg_dlgmirror.cpp
        librecad/src/ui/dialogs/actions/modify/qg_dlgmirror.h
        librecad/src/ui/dialogs/actions/modify/qg_dlgmove.cpp
        librecad/src/ui/dialogs/actions/modify/qg_dlgmove.h
        librecad/src/ui/dialogs/actions/modify/qg_dlgmoverotate.cpp
        librecad/src/ui/dialogs/actions/modify/qg_dlgmoverotate.h
        librecad/src/ui/dialogs/entity/qg_dlgmtext.cpp
        librecad/src/ui/dialogs/entity/qg_dlgmtext.h
        librecad/src/ui/dialogs/settings/dimstyles/dimstyle_manager/lc_dlgdimstylemanager.h
        librecad/src/ui/dialogs/settings/dimstyles/dimstyle_manager/lc_dlgdimstylemanager.cpp
        librecad/src/ui/dialogs/settings/dimstyles/dimstyle_manager/support/lc_tabproxywidget.h
        librecad/src/ui/dialogs/settings/dimstyles/dimstyle_manager/support/lc_tabproxywidget.cpp
        librecad/src/ui/dialogs/settings/dimstyles/dimstyle_manager/support/lc_dimstylepreviewgraphicview.h
        librecad/src/ui/dialogs/settings/dimstyles/dimstyle_manager/support/lc_dimstylepreviewgraphicview.cpp
        librecad/src/ui/dialogs/settings/options_drawing/qg_dlgoptionsdrawing.cpp
        librecad/src/ui/dialogs/settings/options_drawing/qg_dlgoptionsdrawing.h
        librecad/src/ui/dialogs/settings/dimstyles/lc_dimstyleslistmodel.h
        librecad/src/ui/dialogs/settings/dimstyles/lc_dimstyleslistmodel.cpp
        librecad/src/ui/dialogs/settings/dimstyles/lc_dimstylestreemodel.h
        librecad/src/ui/dialogs/settings/dimstyles/lc_dimstylestreemodel.cpp
        librecad/src/ui/dialogs/settings/options_general/qg_dlgoptionsgeneral.cpp
        librecad/src/ui/dialogs/settings/options_general/qg_dlgoptionsgeneral.h
        librecad/src/ui/dialogs/file/export/makercam/qg_dlgoptionsmakercam.cpp
        librecad/src/ui/dialogs/file/export/makercam/qg_dlgoptionsmakercam.h
        librecad/src/ui/dialogs/actions/modify/qg_dlgrotate.cpp
        librecad/src/ui/dialogs/actions/modify/qg_dlgrotate.h
        librecad/src/ui/dialogs/actions/modify/qg_dlgrotate2.cpp
        librecad/src/ui/dialogs/actions/modify/qg_dlgrotate2.h
        librecad/src/ui/dialogs/actions/modify/qg_dlgscale.cpp
        librecad/src/ui/dialogs/actions/modify/qg_dlgscale.h
        librecad/src/ui/dialogs/entity/qg_dlgtext.cpp
        librecad/src/ui/dialogs/entity/qg_dlgtext.h
        librecad/src/ui/dialogs/main/qg_exitdialog.cpp
        librecad/src/ui/dialogs/main/qg_exitdialog.h
        librecad/src/ui/action_options/image/qg_imageoptions.cpp
        librecad/src/ui/action_options/image/qg_imageoptions.h
        librecad/src/ui/action_options/insert/qg_insertoptions.cpp
        librecad/src/ui/action_options/insert/qg_insertoptions.h
        librecad/src/ui/dialogs/actions/qg_layerdialog.cpp
        librecad/src/ui/dialogs/actions/qg_layerdialog.h
        librecad/src/ui/dock_widgets/layers_tree/lc_layerdialog_ex.cpp
        librecad/src/ui/dock_widgets/layers_tree/lc_layerdialog_ex.h
        librecad/src/ui/dialogs/file/export/layers/lc_layerexportoptions.h
        librecad/src/ui/dialogs/file/export/layers/lc_layerexportoptions.cpp
        librecad/src/ui/dialogs/file/export/layers/lc_filedialogservice.cpp
        librecad/src/ui/dialogs/file/export/layers/lc_filedialogservice.h
        librecad/src/ui/dialogs/file/export/layers/lc_exportlayersdialogservice.h
        librecad/src/ui/dialogs/file/export/layers/lc_exportlayersdialogservice.cpp
        librecad/src/ui/action_options/insert/qg_libraryinsertoptions.cpp
        librecad/src/ui/action_options/insert/qg_libraryinsertoptions.h
        librecad/src/ui/action_options/line/qg_lineangleoptions.cpp
        librecad/src/ui/action_options/line/qg_lineangleoptions.h
        librecad/src/ui/action_options/line/qg_linebisectoroptions.cpp
        librecad/src/ui/action_options/line/qg_linebisectoroptions.h
        librecad/src/ui/action_options/line/qg_lineoptions.cpp
        librecad/src/ui/action_options/line/qg_lineoptions.h
        librecad/src/ui/action_options/line/qg_lineparalleloptions.cpp
        librecad/src/ui/action_options/line/qg_lineparalleloptions.h
        librecad/src/ui/action_options/line/qg_lineparallelthroughoptions.cpp
        librecad/src/ui/action_options/line/qg_lineparallelthroughoptions.h
        librecad/src/ui/action_options/polygon/qg_linepolygonoptions.cpp
        librecad/src/ui/action_options/polygon/qg_linepolygonoptions.h
        librecad/src/ui/action_options/line/qg_linerelangleoptions.cpp
        librecad/src/ui/action_options/line/qg_linerelangleoptions.h
        librecad/src/ui/action_options/modify/qg_modifyoffsetoptions.cpp
        librecad/src/ui/action_options/modify/qg_modifyoffsetoptions.h
        librecad/src/ui/components/status_bar/qg_mousewidget.cpp
        librecad/src/ui/components/status_bar/qg_mousewidget.h
        librecad/src/ui/action_options/modify/qg_moverotateoptions.cpp
        librecad/src/ui/action_options/modify/qg_moverotateoptions.h
        librecad/src/ui/action_options/text/qg_mtextoptions.cpp
        librecad/src/ui/action_options/text/qg_mtextoptions.h
        librecad/src/ui/action_options/polyline/qg_polylineequidistantoptions.cpp
        librecad/src/ui/action_options/polyline/qg_polylineequidistantoptions.h
        librecad/src/ui/action_options/polyline/qg_polylineoptions.cpp
        librecad/src/ui/action_options/polyline/qg_polylineoptions.h
        librecad/src/ui/action_options/print_preview/qg_printpreviewoptions.cpp
        librecad/src/ui/action_options/print_preview/qg_printpreviewoptions.h
        librecad/src/ui/action_options/modify/qg_roundoptions.cpp
        librecad/src/ui/action_options/modify/qg_roundoptions.h
        librecad/src/ui/components/status_bar/qg_selectionwidget.cpp
        librecad/src/ui/components/status_bar/qg_selectionwidget.h
        librecad/src/ui/action_options/snap/qg_snapdistoptions.cpp
        librecad/src/ui/action_options/snap/qg_snapdistoptions.h
        librecad/src/ui/action_options/snap/qg_snapmiddleoptions.cpp
        librecad/src/ui/action_options/snap/qg_snapmiddleoptions.h
        librecad/src/ui/components/toolbars/qg_snaptoolbar.cpp
        librecad/src/ui/components/toolbars/qg_snaptoolbar.h
        librecad/src/ui/action_options/spline/qg_splineoptions.cpp
        librecad/src/ui/action_options/spline/qg_splineoptions.h
        librecad/src/ui/action_options/text/qg_textoptions.cpp
        librecad/src/ui/action_options/text/qg_textoptions.h
        librecad/src/ui/action_options/modify/qg_trimamountoptions.cpp
        librecad/src/ui/action_options/modify/qg_trimamountoptions.h
        librecad/src/ui/components/pen/qg_widgetpen.cpp
        librecad/src/ui/components/pen/qg_widgetpen.h
        librecad/src/ui/components/creators/actionlist.cpp
        librecad/src/ui/components/creators/actionlist.h
        librecad/src/ui/components/creators/lc_creatorinvoker.h
        librecad/src/ui/components/creators/lc_creatorinvoker.cpp
        librecad/src/ui/dialogs/creators/lc_dlgmenuassigner.h
        librecad/src/ui/dialogs/creators/lc_dlgmenuassigner.cpp
        librecad/src/ui/dialogs/creators/lc_dlgwidgetcreator.h
        librecad/src/ui/dialogs/creators/lc_dlgwidgetcreator.cpp
        librecad/src/ui/components/creators/lc_menuactivator.h
        librecad/src/ui/components/creators/lc_menuactivator.cpp
        librecad/src/ui/dialogs/creators/lc_dlgnewwidget.h
        librecad/src/ui/dialogs/creators/lc_dlgnewwidget.cpp
        librecad/src/plugins/lc_plugininvoker.h
        librecad/src/plugins/lc_plugininvoker.cpp
        librecad/src/ui/dock_widgets/pen_wizard/colorcombobox.cpp
        librecad/src/ui/dock_widgets/pen_wizard/colorcombobox.h
        librecad/src/ui/dock_widgets/pen_wizard/colorwizard.cpp
        librecad/src/ui/dock_widgets/pen_wizard/colorwizard.h
        librecad/src/ui/components/comboboxes/comboboxoption.cpp
        librecad/src/ui/components/comboboxes/comboboxoption.h
        librecad/src/ui/components/textfileviewer.cpp
        librecad/src/ui/components/textfileviewer.h
        librecad/src/ui/main/init/lc_actionfactory.cpp
        librecad/src/ui/main/init/lc_actionfactory.h
        librecad/src/ui/actions/lc_actiongroupmanager.cpp
        librecad/src/ui/actions/lc_actiongroupmanager.h
        librecad/src/ui/view/lc_centralwidget.cpp
        librecad/src/ui/view/lc_centralwidget.h
        librecad/src/ui/dialogs/settings/options_device/lc_deviceoptions.cpp
        librecad/src/ui/dialogs/settings/options_device/lc_deviceoptions.h
        librecad/src/ui/dock_widgets/lc_dockwidget.h
        librecad/src/ui/dock_widgets/lc_dockwidget.cpp
        librecad/src/ui/dock_widgets/lc_graphicviewawarewidget.h
        librecad/src/ui/dock_widgets/lc_graphicviewawarewidget.cpp
        librecad/src/ui/dock_widgets/cad/lc_caddockwidget.h
        librecad/src/ui/dock_widgets/cad/lc_caddockwidget.cpp
        librecad/src/ui/dock_widgets/pen_wizard/lc_penwizard.cpp
        librecad/src/ui/dock_widgets/pen_wizard/lc_penwizard.h
        librecad/src/ui/main/init/lc_widgetfactory.cpp
        librecad/src/ui/main/init/lc_widgetfactory.h
        librecad/src/ui/main/init/lc_toolbarfactory.h
        librecad/src/ui/main/init/lc_toolbarfactory.cpp
        librecad/src/ui/main/init/lc_menufactory.cpp
        librecad/src/ui/main/init/lc_menufactory.h
        librecad/src/ui/main/init/lc_applicationwindowinitializer.h
        librecad/src/ui/main/init/lc_applicationwindowinitializer.cpp
        librecad/src/ui/main/lc_defaultactioncontext.cpp
        librecad/src/ui/main/fontviewer/lc_fontfileviewer.h
        librecad/src/ui/main/fontviewer/lc_fontfileviewer.cpp
        librecad/src/ui/dialogs/settings/options_drawing/lg_dimzerosbox.cpp
        librecad/src/ui/dialogs/settings/options_drawing/lg_dimzerosbox.h
        librecad/src/ui/qg_actionhandler.cpp
        librecad/src/ui/qg_actionhandler.h
        librecad/src/ui/lc_actionhandlerfactory.h
        librecad/src/ui/lc_actionhandlerfactory.cpp
        librecad/src/ui/lc_snapmanager.h
        librecad/src/ui/lc_snapmanager.cpp
        librecad/src/ui/lc_uiutils.h
        librecad/src/ui/lc_uiutils.cpp
        librecad/src/ui/dock_widgets/block_widget/qg_blockwidget.cpp
        librecad/src/ui/dock_widgets/block_widget/qg_blockwidget.h
        librecad/src/ui/components/comboboxes/qg_colorbox.cpp
        librecad/src/ui/components/comboboxes/qg_colorbox.h
        librecad/src/ui/dock_widgets/command_line/qg_commandedit.cpp
        librecad/src/ui/dock_widgets/command_line/qg_commandedit.h
        librecad/src/ui/dock_widgets/command_line/qg_commandhistory.cpp
        librecad/src/ui/dock_widgets/command_line/qg_commandhistory.h
        librecad/src/ui/dialogs/qg_dialogfactory.cpp
        librecad/src/ui/dialogs/qg_dialogfactory.h
        librecad/src/ui/dialogs/file/qg_filedialog.cpp
        librecad/src/ui/dialogs/file/qg_filedialog.h
        librecad/src/ui/components/comboboxes/qg_fontbox.cpp
        librecad/src/ui/components/comboboxes/qg_fontbox.h
        librecad/src/ui/view/qg_graphicview.cpp
        librecad/src/ui/view/qg_graphicview.h
        librecad/src/ui/components/comboboxes/qg_layerbox.cpp
        librecad/src/ui/components/comboboxes/qg_layerbox.h
        librecad/src/ui/dock_widgets/layer_widget/qg_layerwidget.cpp
        librecad/src/ui/dock_widgets/layer_widget/qg_layerwidget.h
        librecad/src/ui/dock_widgets/layers_tree/lc_layertreeitem.cpp
        librecad/src/ui/dock_widgets/layers_tree/lc_layertreeitem.h
        librecad/src/ui/dock_widgets/layers_tree/lc_layertreemodel.cpp
        librecad/src/ui/dock_widgets/layers_tree/lc_layertreemodel.h
        librecad/src/ui/dock_widgets/layers_tree/lc_layertreewidget.cpp
        librecad/src/ui/dock_widgets/layers_tree/lc_layertreewidget.h
        librecad/src/ui/dock_widgets/layers_tree/lc_layertreeview.cpp
        librecad/src/ui/dock_widgets/layers_tree/lc_layertreeview.h
        librecad/src/ui/dock_widgets/library_widget/qg_librarywidget.cpp
        librecad/src/ui/dock_widgets/library_widget/qg_librarywidget.h
        librecad/src/ui/components/comboboxes/qg_linetypebox.cpp
        librecad/src/ui/components/comboboxes/qg_linetypebox.h
        librecad/src/ui/components/comboboxes/qg_patternbox.cpp
        librecad/src/ui/components/comboboxes/qg_patternbox.h
        librecad/src/ui/components/toolbars/qg_pentoolbar.cpp
        librecad/src/ui/components/toolbars/qg_pentoolbar.h
        librecad/src/ui/main/support/qg_recentfiles.cpp
        librecad/src/ui/main/support/qg_recentfiles.h
        librecad/src/ui/main/support/lc_lastopenfilesopener.h
        librecad/src/ui/main/support/lc_lastopenfilesopener.cpp
        librecad/src/ui/components/qg_scrollbar.h
        librecad/src/ui/components/comboboxes/qg_widthbox.cpp
        librecad/src/ui/components/comboboxes/qg_widthbox.h
        librecad/src/ui/components/status_bar/twostackedlabels.cpp
        librecad/src/ui/components/status_bar/twostackedlabels.h
        librecad/src/ui/dock_widgets/pen_palette/lc_penitem.cpp
        librecad/src/ui/dock_widgets/pen_palette/lc_penitem.h
        librecad/src/ui/dock_widgets/pen_palette/lc_penpalettewidget.cpp
        librecad/src/ui/dock_widgets/pen_palette/lc_penpalettewidget.h
        librecad/src/ui/dock_widgets/pen_palette/lc_peninforegistry.h
        librecad/src/ui/dock_widgets/pen_palette/lc_peninforegistry.cpp
        librecad/src/ui/dock_widgets/pen_palette/lc_penpalettemodel.cpp
        librecad/src/ui/dock_widgets/pen_palette/lc_penpaletteoptions.cpp
        librecad/src/ui/dock_widgets/pen_palette/lc_penpalettedata.h
        librecad/src/ui/dock_widgets/pen_palette/lc_penpalettedata.cpp
        librecad/src/ui/dock_widgets/pen_palette/lc_penpaletteoptionsdialog.cpp
        librecad/src/actions/drawing/draw/curve/lc_actiondrawparabola4points.cpp
        librecad/src/actions/drawing/draw/curve/lc_actiondrawparabolaFD.cpp
        librecad/src/ui/not_used/LC_DlgParabola.cpp
        librecad/src/lib/engine/document/entities/lc_parabola.cpp
        librecad/src/actions/drawing/snap/lc_actionsnapmiddlemanual.cpp
        librecad/src/actions/drawing/pen/lc_actionpenapply.cpp
        librecad/src/actions/drawing/pen/lc_actionpenpick.cpp
        librecad/src/ui/dock_widgets/layers_tree/lc_layertreeoptionsdialog.cpp
        librecad/src/ui/dock_widgets/layers_tree/lc_layertreemodel_options.cpp
        librecad/src/ui/dock_widgets/layers_tree/lc_layertreemodel_options.cpp
        librecad/src/actions/drawing/pen/lc_actionpensyncactivebylayer.h
        librecad/src/actions/drawing/pen/lc_actionpensyncactivebylayer.cpp
        librecad/src/ui/components/layouts/lc_flexlayout.h
        librecad/src/ui/components/layouts/lc_flexlayout.cpp
        librecad/src/ui/components/layouts/lc_flexlayout.cpp
        librecad/src/actions/drawing/draw/rect/lc_actiondrawrectangle3points.cpp
        librecad/src/actions/drawing/draw/rect/lc_actiondrawrectangle3points.h
        librecad/src/actions/drawing/draw/line/misc/lc_actiondrawcross.cpp
        librecad/src/actions/drawing/draw/line/misc/lc_actiondrawcross.h
        librecad/src/ui/action_options/misc/lc_crossoptions.cpp
        librecad/src/actions/drawing/draw/line/lc_actiondrawlinesnake.h
        librecad/src/actions/drawing/draw/line/lc_actiondrawlinesnake.h
        librecad/src/actions/drawing/draw/line/lc_actiondrawlinesnake.cpp
        librecad/src/ui/action_options/line/lc_lineoptions.cpp
        librecad/src/actions/drawing/draw/line/lc_actiondrawlineanglerel.h
        librecad/src/actions/drawing/draw/line/lc_actiondrawlineanglerel.cpp
        librecad/src/ui/action_options/line/lc_lineanglereloptions.cpp
        librecad/src/ui/action_options/line/lc_slicedivideoptions.cpp
        librecad/src/actions/drawing/draw/line/lc_actiondrawslicedivide.cpp
        librecad/src/actions/drawing/draw/rect/lc_actiondrawrectangle1point.cpp
        librecad/src/ui/action_options/rect/lc_rectangle1pointoptions.cpp
        librecad/src/lib/engine/document/entities/lc_parabola.cpp
        librecad/src/actions/drawing/draw/curve/lc_actiondrawparabola4points.cpp
        librecad/src/actions/drawing/draw/curve/lc_actiondrawparabolaFD.cpp
        librecad/src/ui/action_options/lc_actionoptionswidget.h
        librecad/src/ui/action_options/lc_actionoptionswidget.cpp
        librecad/src/ui/action_options/lc_actionoptionsmanager.h
        librecad/src/ui/action_options/lc_actionoptionsmanager.cpp
        librecad/src/actions/drawing/draw/rect/lc_abstractactiondrawrectangle.h
        librecad/src/actions/drawing/draw/rect/lc_abstractactiondrawrectangle.cpp
        librecad/src/actions/drawing/draw/rect/lc_actiondrawrectangle2points.h
        librecad/src/actions/drawing/draw/rect/lc_actiondrawrectangle2points.cpp
        librecad/src/ui/action_options/rect/lc_rectangle2pointsoptions.h
        librecad/src/ui/action_options/rect/lc_rectangle2pointsoptions.cpp
        librecad/src/ui/action_options/circle/lc_circlebyarcoptions.cpp
        librecad/src/actions/drawing/draw/circle/lc_actiondrawcirclebyarc.cpp
        librecad/src/actions/drawing/modify/lc_actionmodifylinejoin.cpp
        librecad/src/ui/action_options/modify/lc_linejoinoptions.cpp
        librecad/src/actions/drawing/draw/point/lc_actiondrawlinepoints.h
        librecad/src/actions/drawing/draw/point/lc_actiondrawlinepoints.cpp
        librecad/src/ui/action_options/point/lc_linepointsoptions.h
        librecad/src/ui/action_options/point/lc_linepointsoptions.cpp
        librecad/src/lib/math/lc_linemath.h
        librecad/src/lib/math/lc_linemath.cpp
        librecad/src/actions/drawing/draw/line/lc_abstractactiondrawline.cpp
        librecad/src/actions/drawing/lc_abstractactionwithpreview.h
        librecad/src/actions/drawing/lc_abstractactionwithpreview.cpp
        librecad/src/actions/drawing/modify/lc_actionmodifyduplicate.h
        librecad/src/actions/drawing/modify/lc_actionmodifyduplicate.cpp
        librecad/src/ui/action_options/modify/lc_duplicateoptions.cpp
        librecad/src/ui/action_options/rect/lc_rectangle3pointsoptions.cpp
        librecad/src/ui/action_options/line/lc_linefrompointtolineoptions.cpp
        librecad/src/actions/drawing/draw/line/lc_actiondrawlinefrompointtoline.cpp
        librecad/src/actions/drawing/draw/polygon/lc_actiondrawstar.cpp
        librecad/src/ui/action_options/polygon/lc_staroptions.cpp
        librecad/src/actions/drawing/modify/lc_actionmodifybreakdivide.cpp
        librecad/src/actions/drawing/modify/lc_actionmodifybreakdivide.h
        librecad/src/ui/action_options/modify/lc_modifybreakdivideoptions.h
        librecad/src/ui/action_options/modify/lc_modifybreakdivideoptions.cpp
        librecad/src/actions/drawing/modify/lc_actionmodifylinegap.cpp
        librecad/src/ui/action_options/modify/lc_modifygapoptions.h
        librecad/src/ui/action_options/modify/lc_modifygapoptions.cpp
        librecad/src/ui/dock_widgets/entity_info/lc_quickinfowidget.cpp
        librecad/src/ui/components/lc_plaintextedit.h
        librecad/src/actions/drawing/info/lc_actioninfoproperties.cpp
        librecad/src/actions/dock_widgets/entity_info/lc_actioninfopickcoordinates.cpp
        librecad/src/ui/dock_widgets/entity_info/lc_quickinfopointsdata.h
        librecad/src/ui/dock_widgets/entity_info/lc_quickinfopointsdata.cpp
        librecad/src/ui/dock_widgets/entity_info/lc_quickinfobasedata.cpp
        librecad/src/ui/dock_widgets/entity_info/lc_quickinfoentitydata.cpp
        librecad/src/ui/dock_widgets/entity_info/lc_quickinfowidgetoptionsdialog.cpp
        librecad/src/ui/dock_widgets/entity_info/lc_quickinfowidgetoptions.h
        librecad/src/ui/dock_widgets/entity_info/lc_quickinfowidgetoptions.cpp
        librecad/src/actions/drawing/draw/circle/lc_actiondrawcirclebase.h
        librecad/src/actions/drawing/draw/circle/lc_actiondrawcirclebase.h
        librecad/src/actions/drawing/draw/circle/lc_actiondrawcirclebase.cpp
        librecad/src/actions/drawing/draw/circle/lc_actiondrawcirclebase.cpp
        librecad/src/lib/engine/overlays/highlight/lc_highlight.cpp
        librecad/src/actions/drawing/draw/polyline/lc_actionpolylinedeletebase.cpp
        librecad/src/ui/action_options/info/lc_infodist2options.cpp
        librecad/src/ui/action_options/info/lc_infodist2options.cpp
        librecad/src/actions/drawing/draw/dimensions/lc_actiondimlinearbase.cpp
        librecad/src/lib/engine/overlays/references/lc_refpoint.cpp
        librecad/src/lib/engine/overlays/references/lc_refpoint.h
        librecad/src/lib/engine/overlays/references/lc_refpoint.cpp
        librecad/src/lib/engine/overlays/references/lc_refline.h
        librecad/src/lib/engine/overlays/references/lc_refline.cpp
        librecad/src/lib/engine/overlays/references/lc_refcircle.h
        librecad/src/lib/engine/overlays/references/lc_refcircle.cpp
        librecad/src/lib/engine/overlays/references/lc_refarc.cpp
        librecad/src/lib/engine/overlays/references/lc_refarc.h
        librecad/src/ui/action_options/lc_actionoptionswidgetbase.cpp
        librecad/src/ui/action_options/lc_actionoptionswidgetbase.h
        librecad/src/actions/drawing/draw/polygon/lc_actiondrawlinepolygonbase.h
        librecad/src/actions/drawing/draw/polygon/lc_actiondrawlinepolygonbase.cpp
        librecad/src/lib/engine/overlays/references/lc_refellipse.cpp
        librecad/src/ui/action_options/modify/lc_modifymirroroptions.cpp
        librecad/src/actions/drawing/modify/lc_actionmodifyselectionbase.h
        librecad/src/actions/drawing/modify/lc_actionmodifyselectionbase.cpp
        librecad/src/lib/actions/lc_modifiersinfo.h
        librecad/src/lib/actions/lc_modifiersinfo.cpp
        librecad/src/lib/actions/lc_modifiersinfo.h
        librecad/src/lib/actions/lc_modifiersinfo.h
        librecad/src/lib/actions/lc_actionpreselectionawarebase.h
        librecad/src/lib/actions/lc_actionpreselectionawarebase.cpp
        librecad/src/lib/actions/lc_actioncontext.h
        librecad/src/lib/actions/lc_actioncontext.cpp
        librecad/src/ui/action_options/modify/lc_modifystretchoptions.cpp
        librecad/src/ui/action_options/modify/lc_modifystretchoptions.h
        librecad/src/ui/action_options/modify/lc_moveoptions.cpp
        librecad/src/ui/action_options/modify/lc_moveoptions.h
        librecad/src/actions/drawing/modify/lc_actionmodifybase.cpp
        librecad/src/actions/drawing/modify/lc_actionmodifybase.h
        librecad/src/ui/actions/lc_actionfactorybase.h
        librecad/src/ui/actions/lc_actionfactorybase.cpp
        librecad/src/ui/components/containers/lc_optionswidgetsholder.cpp
        librecad/src/ui/components/containers/lc_optionswidgetsholder.h
        librecad/src/ui/components/containers/lc_snapoptionswidgetsholder.cpp
        librecad/src/ui/components/containers/lc_snapoptionswidgetsholder.h
        librecad/src/ui/action_options/modify/lc_rotate2options.cpp
        librecad/src/ui/action_options/modify/lc_rotate2options.h
        librecad/src/actions/drawing/edit/lc_actioneditpastetransform.cpp
        librecad/src/actions/drawing/edit/lc_actioneditpastetransform.h
        librecad/src/ui/action_options/edit/lc_pastetransformoptions.cpp
        librecad/src/ui/action_options/edit/lc_pastetransformoptions.cpp
        librecad/src/ui/action_options/modify/lc_modifyscaleoptions.h
        librecad/src/ui/action_options/modify/lc_modifyscaleoptions.cpp
        librecad/src/ui/action_options/modify/lc_modifyscaleoptions.h
        librecad/src/ui/action_options/modify/lc_modifyrotateoptions.cpp
        librecad/src/actions/drawing/info/lc_actioninfo3pointsangle.h
        librecad/src/actions/drawing/info/lc_actioninfo3pointsangle.cpp
        librecad/src/actions/drawing/info/lc_actioninfo3pointsangle.cpp
        librecad/src/actions/drawing/info/lc_actioninfo3pointsangle.cpp
        librecad/src/ui/dialogs/settings/shortcuts/lc_shortcutbutton.cpp
        librecad/src/ui/dialogs/settings/shortcuts/lc_shortcutbutton.h
        librecad/src/ui/actions/lc_shortcutinfo.h
        librecad/src/ui/actions/lc_shortcutsstorage.h
        librecad/src/ui/actions/lc_shortcutsstorage.cpp
        librecad/src/ui/dialogs/settings/shortcuts/lc_actionsshortcutsdialog.cpp
        librecad/src/ui/dialogs/settings/shortcuts/lc_actionsshortcutsdialog.h
        librecad/src/ui/dialogs/settings/shortcuts/lc_shortcutstreemodel.h
        librecad/src/ui/dialogs/settings/shortcuts/lc_shortcutstreemodel.cpp
        librecad/src/ui/dialogs/settings/shortcuts/lc_shortcuttreeitem.cpp
        librecad/src/ui/dialogs/settings/shortcuts/lc_shortcuttreeitem.h
        librecad/src/ui/dialogs/settings/shortcuts/lc_shortcutstreeview.h
        librecad/src/ui/dialogs/settings/shortcuts/lc_shortcutstreeview.cpp
        librecad/src/ui/actions/lc_actiongroup.h
        librecad/src/ui/actions/lc_actiongroup.cpp
        librecad/src/ui/actions/lc_actiongroup.cpp
        librecad/src/ui/actions/lc_shortcutinfo.cpp
        librecad/src/ui/actions/lc_shortcuts_manager.cpp
        librecad/src/ui/actions/lc_shortcuts_manager.h
        librecad/src/actions/drawing/draw/ellipse/lc_actiondrawellipse1point.h
        librecad/src/actions/drawing/draw/ellipse/lc_actiondrawellipse1point.cpp
        librecad/src/ui/action_options/ellipse/lc_ellipse1pointoptions.h
        librecad/src/ui/action_options/ellipse/lc_ellipse1pointoptions.cpp
        librecad/src/actions/drawing/draw/dimensions/lc_actiondrawdimbaseline.h
        librecad/src/actions/drawing/draw/dimensions/lc_actiondrawdimbaseline.cpp
        librecad/src/actions/drawing/draw/dimensions/lc_actioncircledimbase.h
        librecad/src/actions/drawing/draw/dimensions/lc_actioncircledimbase.cpp
        librecad/src/ui/action_options/curve/lc_ellipsearcoptions.cpp
        librecad/src/ui/dialogs/lc_dialog.h
        librecad/src/ui/dialogs/lc_dialog.cpp
        librecad/src/ui/components/status_bar/lc_relzerocoordinateswidget.h
        librecad/src/ui/components/status_bar/lc_relzerocoordinateswidget.cpp
        librecad/src/lib/math/lc_convert.h
        librecad/src/lib/math/lc_convert.cpp
        librecad/src/ui/main/lc_mdiapplicationwindow.h
        librecad/src/ui/main/lc_mdiapplicationwindow.cpp
        librecad/src/lib/gui/grid/lc_lattice.h
        librecad/src/lib/gui/grid/lc_lattice.cpp
        librecad/src/lib/gui/grid/lc_orthogonalgrid.h
        librecad/src/lib/gui/grid/lc_orthogonalgrid.cpp
        librecad/src/lib/gui/grid/lc_gridsystem.h
        librecad/src/lib/gui/grid/lc_gridsystem.cpp
        librecad/src/lib/gui/grid/lc_isometricgrid.cpp
        librecad/src/ui/main/release_check/lc_releasechecker.h
        librecad/src/ui/main/release_check/lc_releasechecker.cpp
        librecad/src/ui/dialogs/main/lc_dlgnewversionavailable.h
        librecad/src/ui/dialogs/main/lc_dlgnewversionavailable.cpp
        librecad/src/ui/dialogs/main/lc_dlgabout.cpp
        librecad/src/lib/engine/document/entities/lc_cachedlengthentity.h
        librecad/src/lib/engine/document/entities/lc_cachedlengthentity.cpp
        librecad/src/actions/drawing/draw/polyline/lc_actionpolylinechangesegmenttype.h
        librecad/src/actions/drawing/draw/polyline/lc_actionpolylinechangesegmenttype.cpp
        librecad/src/actions/drawing/draw/polyline/lc_actionpolylinearcstolines.h
        librecad/src/actions/drawing/draw/polyline/lc_actionpolylinearcstolines.cpp
        librecad/src/ui/components/status_bar/lc_qtstatusbarmanager.h
        librecad/src/ui/components/status_bar/lc_qtstatusbarmanager.cpp
        librecad/src/lib/engine/document/views/lc_view.h
        librecad/src/lib/engine/document/views/lc_view.cpp
        librecad/src/lib/engine/document/views/lc_viewslist.h
        librecad/src/lib/engine/document/views/lc_viewslist.cpp
        librecad/src/lib/engine/document/ucs/lc_ucs.h
        librecad/src/lib/engine/document/ucs/lc_ucs.cpp
        librecad/src/ui/dock_widgets/views_list/lc_namedviewslistwidget.h
        librecad/src/ui/dock_widgets/views_list/lc_namedviewslistwidget.cpp
        librecad/src/ui/dock_widgets/views_list/lc_namedviewsmodel.h
        librecad/src/ui/dock_widgets/views_list/lc_namedviewsmodel.cpp
        librecad/src/ui/dock_widgets/views_list/lc_namedviewslistoptions.cpp
        librecad/src/ui/dock_widgets/views_list/lc_dlgnamedviewslistoptions.h
        librecad/src/ui/dock_widgets/views_list/lc_dlgnamedviewslistoptions.cpp
        librecad/src/ui/dock_widgets/views_list/lc_namedviewsbutton.h
        librecad/src/ui/dock_widgets/views_list/lc_namedviewsbutton.cpp
        librecad/src/actions/drawing/draw/spline/lc_actionremovesplinepoints.h
        librecad/src/actions/drawing/draw/spline/lc_actionremovesplinepoints.cpp
        librecad/src/actions/drawing/draw/spline/lc_actionsplineappendpoint.h
        librecad/src/actions/drawing/draw/spline/lc_actionsplineappendpoint.cpp
        librecad/src/actions/drawing/draw/spline/lc_actionsplineaddpoint.h
        librecad/src/actions/drawing/draw/spline/lc_actionsplineaddpoint.cpp
        librecad/src/actions/drawing/draw/spline/lc_actionsplinemodifybase.h
        librecad/src/actions/drawing/draw/spline/lc_actionsplinemodifybase.cpp
        librecad/src/actions/drawing/draw/spline/lc_actionsplineexplode.h
        librecad/src/actions/drawing/draw/spline/lc_actionsplineexplode.cpp
        librecad/src/ui/action_options/spline/lc_splineexplodeoptions.h
        librecad/src/ui/action_options/spline/lc_splineexplodeoptions.cpp
        librecad/src/actions/drawing/draw/spline/lc_actionsplinefrompolyline.h
        librecad/src/actions/drawing/draw/spline/lc_actionsplinefrompolyline.cpp
        librecad/src/ui/action_options/spline/lc_splinefrompolylineoptions.h
        librecad/src/ui/action_options/spline/lc_splinefrompolylineoptions.cpp
        librecad/src/actions/drawing/draw/spline/lc_actionsplineremovebetween.h
        librecad/src/actions/drawing/draw/spline/lc_actionsplineremovebetween.cpp
        librecad/src/actions/drawing/draw/curve/lc_actiondrawarc2pointsbase.h
        librecad/src/actions/drawing/draw/curve/lc_actiondrawarc2pointsbase.cpp
        librecad/src/actions/drawing/draw/curve/lc_actiondrawarc2pointsradius.h
        librecad/src/actions/drawing/draw/curve/lc_actiondrawarc2pointsradius.cpp
        librecad/src/ui/action_options/curve/lc_actiondrawarc2poptions.h
        librecad/src/ui/action_options/curve/lc_actiondrawarc2poptions.cpp
        librecad/src/actions/drawing/draw/curve/lc_actiondrawarc2pointsangle.h
        librecad/src/actions/drawing/draw/curve/lc_actiondrawarc2pointsangle.cpp
        librecad/src/actions/drawing/draw/curve/lc_actiondrawarc2pointslength.h
        librecad/src/actions/drawing/draw/curve/lc_actiondrawarc2pointslength.cpp
        librecad/src/actions/drawing/draw/curve/lc_actiondrawarc2pointsheight.h
        librecad/src/actions/drawing/draw/curve/lc_actiondrawarc2pointsheight.cpp
        librecad/src/ui/action_options/selection/lc_selectwindowoptions.h
        librecad/src/ui/action_options/selection/lc_selectwindowoptions.cpp
        librecad/src/actions/drawing/draw/point/lc_actionselectpoints.h
        librecad/src/actions/drawing/draw/point/lc_actionselectpoints.cpp
        librecad/src/actions/drawing/draw/point/lc_actiondrawpointslattice.h
        librecad/src/actions/drawing/draw/point/lc_actiondrawpointslattice.cpp
        librecad/src/ui/action_options/point/lc_pointslatticeoptions.h
        librecad/src/ui/action_options/point/lc_pointslatticeoptions.cpp
        librecad/src/actions/drawing/draw/point/lc_actionpastetopoints.h
        librecad/src/actions/drawing/draw/point/lc_actionpastetopoints.cpp
        librecad/src/ui/action_options/point/lc_pastetopointsoptions.h
        librecad/src/ui/action_options/point/lc_pastetopointsoptions.cpp
        librecad/src/actions/drawing/draw/line/misc/lc_actiondrawmidline.h
        librecad/src/actions/drawing/draw/line/misc/lc_actiondrawmidline.cpp
        librecad/src/ui/action_options/misc/lc_midlineoptions.h
        librecad/src/ui/action_options/misc/lc_midlineoptions.cpp
        librecad/src/ui/action_options/modify/lc_modifyalignoptions.h
        librecad/src/ui/action_options/modify/lc_modifyalignoptions.cpp
        librecad/src/actions/drawing/modify/lc_actionmodifyalign.h
        librecad/src/actions/drawing/modify/lc_actionmodifyalign.cpp
        librecad/src/lib/engine/overlays/references/lc_refconstructionline.h
        librecad/src/lib/engine/overlays/references/lc_refconstructionline.h
        librecad/src/lib/engine/overlays/references/lc_refconstructionline.cpp
        librecad/src/lib/modification/lc_align.h
        librecad/src/lib/modification/lc_align.cpp
        librecad/src/lib/modification/lc_division.h
        librecad/src/lib/modification/lc_division.cpp
        librecad/src/actions/drawing/modify/lc_actionmodifyalignsingle.h
        librecad/src/actions/drawing/modify/lc_actionmodifyalignsingle.cpp
        librecad/src/actions/drawing/draw/polygon/lc_actiondrawlinepolygon4.h
        librecad/src/actions/drawing/draw/polygon/lc_actiondrawlinepolygon4.cpp
        librecad/src/actions/drawing/modify/lc_actionmodifyalignref.h
        librecad/src/actions/drawing/modify/lc_actionmodifyalignref.cpp
        librecad/src/actions/drawing/modify/lc_actionmodifyalignref.h
        librecad/src/ui/action_options/modify/lc_modifyalignrefoptions.h
        librecad/src/ui/action_options/modify/lc_modifyalignrefoptions.cpp
        librecad/src/actions/drawing/draw/line/misc/lc_actiondrawboundingbox.h
        librecad/src/actions/drawing/draw/line/misc/lc_actiondrawboundingbox.cpp
        librecad/src/ui/action_options/misc/lc_drawboundingboxoptions.h
        librecad/src/ui/action_options/misc/lc_drawboundingboxoptions.cpp
        librecad/src/lib/engine/overlays/info_cursor/lc_cursoroverlayinfo.h
        librecad/src/lib/engine/overlays/info_cursor/lc_cursoroverlayinfo.cpp
        librecad/src/lib/engine/overlays/crosshair/lc_crosshair.cpp
        librecad/src/lib/engine/undo/lc_undoablerelzero.h
        librecad/src/lib/engine/undo/lc_undoablerelzero.cpp
        librecad/src/lib/engine/document/ucs/lc_ucslist.h
        librecad/src/lib/engine/document/ucs/lc_ucslist.cpp
        librecad/src/actions/dock_widgets/ucs_list/lc_actionucscreate.h
        librecad/src/actions/dock_widgets/ucs_list/lc_actionucscreate.cpp
        librecad/src/actions/dock_widgets/ucs_list/lc_actionucsbydimordinate.h
        librecad/src/actions/dock_widgets/ucs_list/lc_actionucsbydimordinate.cpp
        librecad/src/lib/engine/overlays/ucs_mark/lc_ucs_mark.h
        librecad/src/lib/engine/overlays/ucs_mark/lc_ucs_mark.cpp
        librecad/src/lib/engine/overlays/ucs_mark/lc_ucs_mark.h
        librecad/src/lib/engine/overlays/ucs_mark/lc_ucs_mark.cpp
        librecad/src/ui/action_options/other/lc_ucssetoptions.h
        librecad/src/ui/action_options/other/lc_ucssetoptions.cpp
        librecad/src/ui/dock_widgets/ucs_list/lc_ucslistwidget.h
        librecad/src/ui/dock_widgets/ucs_list/lc_ucslistwidget.cpp
        librecad/src/ui/dock_widgets/ucs_list/lc_ucslistoptions.h
        librecad/src/ui/dock_widgets/ucs_list/lc_ucslistoptions.cpp
        librecad/src/ui/dock_widgets/ucs_list/lc_ucslistmodel.h
        librecad/src/ui/dock_widgets/ucs_list/lc_ucslistmodel.cpp
        librecad/src/ui/dock_widgets/ucs_list/lc_dlgucslistoptions.h
        librecad/src/ui/dock_widgets/ucs_list/lc_dlgucslistoptions.cpp
        librecad/src/ui/dock_widgets/ucs_list/lc_ucslistbutton.h
        librecad/src/ui/dock_widgets/ucs_list/lc_ucslistbutton.cpp
        librecad/src/ui/components/status_bar/lc_ucsstatewidget.h
        librecad/src/ui/components/status_bar/lc_ucsstatewidget.cpp
        librecad/src/ui/dock_widgets/ucs_list/lc_dlgucsproperties.h
        librecad/src/ui/dock_widgets/ucs_list/lc_dlgucsproperties.cpp
        librecad/src/lib/gui/lc_coordinates_mapper.cpp
        librecad/src/lib/gui/lc_coordinates_mapper.h
        librecad/src/lib/gui/lc_coordinates_parser.h
        librecad/src/lib/gui/lc_coordinates_parser.cpp
        librecad/src/lib/gui/render/widget/lc_printpreviewviewrenderer.h
        librecad/src/lib/gui/render/widget/lc_printpreviewviewrenderer.cpp
        librecad/src/lib/gui/render/widget/lc_graphicviewrenderer.h
        librecad/src/lib/gui/render/widget/lc_graphicviewrenderer.cpp
        librecad/src/lib/gui/lc_graphicviewport.h
        librecad/src/lib/gui/lc_graphicviewport.cpp
        librecad/src/lib/gui/render/lc_graphicviewportrenderer.h
        librecad/src/lib/gui/render/lc_graphicviewportrenderer.cpp
        librecad/src/lib/gui/lc_latecompletionrequestor.h
        librecad/src/lib/gui/lc_latecompletionrequestor.cpp
        librecad/src/lib/engine/overlays/lc_overlaysmanager.h
        librecad/src/lib/engine/overlays/lc_overlaysmanager.cpp
        librecad/src/lib/gui/render/widget/lc_widgetviewportrenderer.h
        librecad/src/lib/gui/render/widget/lc_widgetviewportrenderer.cpp
        librecad/src/lib/gui/render/headless/lc_printviewportrenderer.h
        librecad/src/lib/gui/render/headless/lc_printviewportrenderer.cpp
        librecad/src/lib/gui/lc_graphicviewportlistener.h
        librecad/src/lib/gui/lc_graphicviewportlistener.cpp
        librecad/src/lib/engine/overlays/lc_overlayentity.h
        librecad/src/lib/engine/lc_drawable.h
        librecad/src/lib/engine/overlays/lc_overlayentitiescontainer.h
        librecad/src/lib/engine/overlays/lc_overlayentitiescontainer.cpp
        librecad/src/lib/engine/overlays/ucs_mark/lc_overlayrelativezero.h
        librecad/src/lib/engine/overlays/ucs_mark/lc_overlayrelativezero.cpp
        librecad/src/lib/engine/overlays/ucs_mark/lc_overlayrelativezero.h
        librecad/src/lib/engine/overlays/ucs_mark/lc_overlayrelativezero.h
        librecad/src/lib/engine/overlays/ucs_mark/lc_overlayrelativezero.h
        librecad/src/lib/engine/overlays/ucs_mark/lc_overlayucszero.h
        librecad/src/lib/engine/overlays/ucs_mark/lc_overlayucszero.cpp
        librecad/src/lib/actions/lc_overlayboxaction.h
        librecad/src/lib/actions/lc_overlayboxaction.cpp
        librecad/src/lib/engine/overlays/lc_overlayentity.cpp
        librecad/src/ui/view/lc_printpreviewview.h
        librecad/src/ui/view/lc_printpreviewview.cpp
        librecad/src/lib/engine/overlays/angles_base/lc_overlayanglesbasemark.h
        librecad/src/lib/engine/overlays/angles_base/lc_overlayanglesbasemark.cpp
        librecad/src/ui/components/status_bar/lc_anglesbasiswidget.h
        librecad/src/ui/components/status_bar/lc_anglesbasiswidget.cpp
        librecad/src/ui/components/status_bar/lc_anglesbasiswidget.h
        librecad/src/ui/components/status_bar/lc_anglesbasiswidget.h
        librecad/src/ui/dialogs/entity/lc_entitypropertiesdlg.h
        librecad/src/ui/dialogs/entity/lc_entitypropertiesdlg.cpp
        librecad/src/ui/dialogs/entity/lc_entitypropertieseditor.h
        librecad/src/ui/dialogs/entity/lc_entitypropertieseditor.cpp
        librecad/src/ui/dialogs/entity/lc_entitypropertieseditorwidget.h
        librecad/src/ui/dialogs/entity/lc_entitypropertieseditorwidget.cpp
        librecad/src/ui/dialogs/entity/lc_entitypropertieseditorsupport.h
        librecad/src/ui/dialogs/entity/lc_entitypropertieseditorsupport.cpp
        librecad/src/ui/dialogs/entity/lc_pointpropertieseditingwidget.h
        librecad/src/ui/dialogs/entity/lc_pointpropertieseditingwidget.cpp
        librecad/src/ui/dialogs/entity/lc_linepropertieseditingwidget.h
        librecad/src/ui/dialogs/entity/lc_linepropertieseditingwidget.cpp
        librecad/src/ui/dialogs/entity/lc_arcpropertieseditingwidget.h
        librecad/src/ui/dialogs/entity/lc_arcpropertieseditingwidget.cpp
        librecad/src/ui/dialogs/entity/lc_circlepropertieseditingwidget.h
        librecad/src/ui/dialogs/entity/lc_circlepropertieseditingwidget.cpp
        librecad/src/ui/dialogs/entity/lc_ellipsepropertieseditingwidget.h
        librecad/src/ui/dialogs/entity/lc_ellipsepropertieseditingwidget.cpp
        librecad/src/ui/dialogs/entity/lc_polylinepropertieseditingwidget.h
        librecad/src/ui/dialogs/entity/lc_polylinepropertieseditingwidget.cpp
        librecad/src/ui/dialogs/entity/lc_splinepropertieseditingwidget.h
        librecad/src/ui/dialogs/entity/lc_splinepropertieseditingwidget.cpp
        librecad/src/ui/dialogs/entity/lc_splinepointspropertieseditingwidget.h
        librecad/src/ui/dialogs/entity/lc_splinepointspropertieseditingwidget.cpp
        librecad/src/ui/dialogs/entity/lc_imagepropertieseditingwidget.h
        librecad/src/ui/dialogs/entity/lc_imagepropertieseditingwidget.cpp
        librecad/src/ui/dialogs/entity/lc_insertpropertieseditingwidget.h
        librecad/src/ui/dialogs/entity/lc_insertpropertieseditingwidget.cpp
        librecad/src/ui/dialogs/entity/lc_parabolapropertieseditingwidget.h
        librecad/src/ui/dialogs/entity/lc_parabolapropertieseditingwidget.cpp
        librecad/src/ui/dialogs/entity/lc_dlgentityproperties.h
        librecad/src/ui/dialogs/entity/lc_dlgentityproperties.cpp
        librecad/src/lib/engine/utils/lc_rectregion.h
        librecad/src/lib/engine/utils/lc_rectregion.cpp
        librecad/src/ui/dialogs/settings/options_widget/lc_iconengineshared.cpp
        librecad/src/ui/dialogs/settings/options_widget/lc_iconcolorsoptions.h
        librecad/src/ui/dialogs/settings/options_widget/lc_iconcolorsoptions.cpp
        librecad/src/ui/dialogs/settings/options_widget/lc_iconcolorsoptions.h
        librecad/src/ui/dialogs/settings/options_widget/lc_dlgiconssetup.cpp
        librecad/src/lib/engine/settings/lc_settingsexporter.h
        librecad/src/lib/engine/settings/lc_settingsexporter.cpp
        librecad/src/lib/engine/settings/lc_settingsexporter.cpp
        librecad/src/ui/main/workspaces/lc_workspacesmanager.h
        librecad/src/ui/main/workspaces/lc_workspacesmanager.cpp
        librecad/src/ui/main/workspaces/lc_workspacesinvoker.h
        librecad/src/ui/main/workspaces/lc_workspacesinvoker.cpp
        librecad/src/ui/dock_widgets/workspaces/lc_workspacelistbutton.h
        librecad/src/ui/dock_widgets/workspaces/lc_workspacelistbutton.cpp
        librecad/src/ui/dialogs/lc_inputtextdialog.h
        librecad/src/ui/dialogs/lc_inputtextdialog.cpp
        librecad/src/ui/main/persistence/lc_documentsstorage.h
        librecad/src/ui/main/persistence/lc_documentsstorage.cpp
        librecad/src/ui/main/support/lc_appwindowdialogsinvoker.h
        librecad/src/ui/main/support/lc_appwindowdialogsinvoker.cpp
        librecad/src/ui/main/support/lc_gridviewinvoker.h
        librecad/src/ui/main/support/lc_gridviewinvoker.cpp
        librecad/src/ui/main/support/lc_infocursorsettingsmanager.h
        librecad/src/ui/main/support/lc_infocursorsettingsmanager.cpp
        librecad/src/ui/main/support/lc_customstylehelper.h
        librecad/src/ui/main/support/lc_customstylehelper.cpp
        librecad/src/ui/dialogs/settings/dimstyles/dimstyle_manager/support/lc_dimstylepreviewpanel.h
        librecad/src/ui/dialogs/settings/dimstyles/dimstyle_manager/support/lc_dimstylepreviewpanel.cpp
        librecad/src/ui/dialogs/settings/options_drawing/lc_dlgnewdimstyle.h
        librecad/src/ui/dialogs/settings/options_drawing/lc_dlgnewdimstyle.cpp
        librecad/src/ui/dialogs/settings/dimstyles/lc_dimstyleitem.cpp
        librecad/src/lib/engine/document/textstyles/lc_textstylelist.h
        librecad/src/lib/engine/document/textstyles/lc_textstylelist.cpp
        librecad/src/lib/engine/document/textstyles/lc_textstyle.h
        librecad/src/lib/engine/document/textstyles/lc_textstyle.cpp
        librecad/src/lib/engine/document/entities/lc_extentitydata.h
        librecad/src/lib/engine/document/entities/lc_extentitydata.cpp
        librecad/src/ui/dialogs/entity/lc_dlgdimension.h
        librecad/src/ui/dialogs/entity/lc_dlgdimension.cpp
        librecad/src/lib/engine/document/lc_graphicvariables.h
        librecad/src/lib/engine/document/lc_graphicvariables.cpp

        #        librecad/src/ui/not_used/LC_DlgParabola.h
        #        librecad/src/ui/not_used/LC_DlgParabola.cpp
        #        librecad/src/ui/not_used/lc_dlgsplinepoints.h
        #        librecad/src/ui/not_used/lc_dlgsplinepoints.cpp
        #        librecad/src/ui/not_used/lc_dlgdimordinate.h
        #        librecad/src/ui/not_used/lc_dlgdimordinate.cpp
        #        librecad/src/ui/not_used/qg_dlgarc.cpp
        #        librecad/src/ui/not_used/qg_dlgarc.h
        #        librecad/src/ui/not_used/qg_dlgcircle.cpp
        #        librecad/src/ui/not_used/qg_dlgcircle.h
        #        librecad/src/ui/not_used/qg_dlgdimension.cpp
        #        librecad/src/ui/not_used/qg_dlgdimension.h
        #        librecad/src/ui/not_used/qg_dlgdimlinear.cpp
        #        librecad/src/ui/not_used/qg_dlgdimlinear.h
        #        librecad/src/ui/not_used/qg_dlgellipse.cpp
        #        librecad/src/ui/not_used/qg_dlgellipse.h
        #        librecad/src/ui/not_used/qg_dlgimage.cpp
        #        librecad/src/ui/not_used/qg_dlgimage.h
        #        librecad/src/ui/not_used/qg_dlginsert.cpp
        #        librecad/src/ui/not_used/qg_dlginsert.h
        #        librecad/src/ui/not_used/qg_dlgline.cpp
        #        librecad/src/ui/not_used/qg_dlgline.h
        #        librecad/src/ui/not_used/qg_dlgpoint.cpp
        #        librecad/src/ui/not_used/qg_dlgpoint.h
        #        librecad/src/ui/not_used/qg_dlgpolyline.cpp
        #        librecad/src/ui/not_used/qg_dlgpolyline.h
        #        librecad/src/ui/not_used/qg_dlgspline.cpp
        #        librecad/src/ui/not_used/qg_dlgspline.h

)

#qt_standard_project_setup()
# qt6_standard_project_setup(I18N_TRANSLATED_LANGUAGES ar ca cs da de el en_au en es_ar es_bo es_cl es_co es_cr es_do es_ec es_gt es_hn es_mx es_ni es_pa es_pe es_pr es_py es_sv es es_us es_uy es_ve et eu fi fr gl he hi hu id_ID it ja ka ko lv mk nl no pa pl pt_br pt_pt ro_ro ru sk sl sq_al sr sv ta th tr uk zh_cn zh_tw)

qt_add_executable(librecad
  librecad/src/main/main.cpp
	${SOURCES})

#target_include_directories(librecad PRIVATE ${LIBRECAD_INCLUDE_DIRS})

# add constants like M_PI to cmath
if(WIN32)
    target_compile_definitions(librecad PRIVATE _USE_MATH_DEFINES)
if(Boost_FOUND)
    target_include_directories(librecad PRIVATE ${Boost_INCLUDE_DIRS})
    target_link_libraries(librecad ${Boost_LIBRARIES})
endif(Boost_FOUND)

endif(WIN32)

#add_executable(LibreCAD ${SOURCES})
target_link_libraries(librecad PRIVATE Qt6::Core Qt6::Widgets Qt6::Gui Qt6::PrintSupport Qt6::Svg Qt::Network)

#set_target_properties(librecad PROPERTIES
#	WIN32_EXECUTABLE ON
#	MACOSX_BUNDLE ON
#   AUTOUIC_OPTIONS "--connections string")
set_property(TARGET librecad PROPERTY AUTOUIC_OPTIONS --connections string)

set(CMAKE_AUTOUIC_OPTIONS --connections string)

set(TS_DIR ../librecad/ts)
set(TS_FILES
librecad/ts/librecad_ar.ts
librecad/ts/librecad_ca.ts
librecad/ts/librecad_cs.ts
librecad/ts/librecad_da.ts
librecad/ts/librecad_de.ts
librecad/ts/librecad_el.ts
librecad/ts/librecad_en_au.ts
librecad/ts/librecad_en.ts
librecad/ts/librecad_es_ar.ts
librecad/ts/librecad_es_bo.ts
librecad/ts/librecad_es_cl.ts
librecad/ts/librecad_es_co.ts
librecad/ts/librecad_es_cr.ts
librecad/ts/librecad_es_do.ts
librecad/ts/librecad_es_ec.ts
librecad/ts/librecad_es_gt.ts
librecad/ts/librecad_es_hn.ts
librecad/ts/librecad_es_mx.ts
librecad/ts/librecad_es_ni.ts
librecad/ts/librecad_es_pa.ts
librecad/ts/librecad_es_pe.ts
librecad/ts/librecad_es_pr.ts
librecad/ts/librecad_es_py.ts
librecad/ts/librecad_es_sv.ts
librecad/ts/librecad_es.ts
librecad/ts/librecad_es_us.ts
librecad/ts/librecad_es_uy.ts
librecad/ts/librecad_es_ve.ts
librecad/ts/librecad_et.ts
librecad/ts/librecad_eu.ts
librecad/ts/librecad_fi.ts
librecad/ts/librecad_fr.ts
librecad/ts/librecad_gl.ts
librecad/ts/librecad_he.ts
librecad/ts/librecad_hi.ts
librecad/ts/librecad_hu.ts
librecad/ts/librecad_id_ID.ts
librecad/ts/librecad_it.ts
librecad/ts/librecad_ja.ts
librecad/ts/librecad_ka.ts
librecad/ts/librecad_ko.ts
librecad/ts/librecad_lv.ts
librecad/ts/librecad_mk.ts
librecad/ts/librecad_nl.ts
librecad/ts/librecad_no.ts
librecad/ts/librecad_pa.ts
librecad/ts/librecad_pl.ts
librecad/ts/librecad_pt_br.ts
librecad/ts/librecad_pt_pt.ts
librecad/ts/librecad_ro_ro.ts
librecad/ts/librecad_ru.ts
librecad/ts/librecad_sk.ts
librecad/ts/librecad_sl.ts
librecad/ts/librecad_sq_al.ts
librecad/ts/librecad_sr.ts
librecad/ts/librecad_sv.ts
librecad/ts/librecad_ta.ts
librecad/ts/librecad_th.ts
librecad/ts/librecad_tr.ts
librecad/ts/librecad_uk.ts
librecad/ts/librecad_zh_cn.ts
librecad/ts/librecad_zh_tw.ts
)

qt_add_translations(librecad TS_FILE_DIR ${TS_DIR} TS_FILES ${TS_FILES})
install(TARGETS librecad RUNTIME DESTINATION bin)

if(NOT WIN32)
add_executable(ttf2lff
	tools/ttf2lff/main.cpp)
target_link_libraries(ttf2lff ${FREETYPE_LIBRARIES})
target_include_directories(ttf2lff PRIVATE
	${FREETYPE_INCLUDE_DIRS})
endif(NOT WIN32)

add_subdirectory(libraries/lciconengine)
add_subdirectory(plugins)

option(BUILD_TESTS "Build unit tests for LibreCAD" OFF)

if(BUILD_TESTS)
    # Add Catch2 as a subdirectory (assumes Catch2 is in externals/Catch2)
    add_subdirectory(externals/Catch2)

    # Define test executable
    add_executable(librecad_tests
        librecad/src/lib/math/tests/rs_math_tests.cpp
        librecad/src/lib/engine/document/entities/tests/rs_ellipse_tests.cpp
        ${SOURCES}
    )

    # Include directories for rs_math.h and other dependencies
    target_include_directories(librecad_tests PRIVATE
        ${Qt6Core_INCLUDE_DIRS}
        ${Qt6Gui_INCLUDE_DIRS}
        ${Qt6Widgets_INCLUDE_DIRS}
    )

    # Link Catch2 and other required libraries (e.g., Boost, Qt)
    target_link_libraries(librecad_tests PRIVATE
        Catch2::Catch2WithMain
        ${Boost_LIBRARIES}
        Qt6::Core
        Qt6::Gui
	Qt6::Network
	Qt6::PrintSupport
	Qt6::Svg
        Qt6::Widgets
    )

    # Enable C++17 for the test target (matching LibreCAD's standard)
    target_compile_features(librecad_tests PRIVATE cxx_std_17)
    # compiling time defines
    target_compile_definitions(librecad_tests PRIVATE BUILD_TESTS=1)
endif()
